]> git.wh0rd.org - tt-rss.git/commitdiff
Merge branch 'master' of git://github.com/EyesX/Tiny-Tiny-RSS into EyesX-master
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sat, 25 May 2013 05:36:42 +0000 (09:36 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sat, 25 May 2013 05:36:42 +0000 (09:36 +0400)
Conflicts:
locale/sv_SE/LC_MESSAGES/messages.mo
locale/sv_SE/LC_MESSAGES/messages.po

153 files changed:
.gitignore
api/index.php
atom-to-html.xsl
cdm.css [deleted file]
classes/api.php
classes/article.php
classes/auth/base.php
classes/db/pdo.php
classes/db/prefs.php
classes/feedenclosure.php [new file with mode: 0644]
classes/feeditem.php [new file with mode: 0644]
classes/feeditem/atom.php [new file with mode: 0644]
classes/feeditem/common.php [new file with mode: 0644]
classes/feeditem/rss.php [new file with mode: 0644]
classes/feedparser.php [new file with mode: 0644]
classes/feeds.php
classes/handler/public.php
classes/opml.php
classes/pluginhost.php
classes/pref/feeds.php
classes/pref/filters.php
classes/pref/prefs.php
classes/pref/users.php
classes/rpc.php
classes/sanitizedummy.php [deleted file]
classes/ttrssmailer.php
config.php-dist
css/cdm.css [new file with mode: 0644]
css/layout.css [new file with mode: 0644]
css/prefs.css [new file with mode: 0644]
css/tt-rss.css [new file with mode: 0644]
css/utility.css [new file with mode: 0644]
include/colors.php
include/digest.php
include/errorhandler.php
include/functions.php
include/login_form.php
include/rssfuncs.php
include/sanity_check.php
include/version.php
index.php
install/index.php
js/FeedTree.js
js/feedlist.js
js/prefs.js
js/tt-rss.js
js/viewfeed.js
lib/MiniTemplator.class.php
lib/floIcon.php [deleted file]
lib/phpqrcode/bindings/tcpdf/qrcode.php
lib/phpqrcode/phpqrcode.php
lib/phpqrcode/qrencode.php
lib/phpqrcode/qrmask.php
lib/phpqrcode/qrsplit.php
lib/simplepie/simplepie.inc [deleted file]
locale/ca_CA/LC_MESSAGES/messages.mo
locale/ca_CA/LC_MESSAGES/messages.po
locale/cs_CZ/LC_MESSAGES/messages.mo
locale/cs_CZ/LC_MESSAGES/messages.po
locale/de_DE/LC_MESSAGES/messages.mo
locale/de_DE/LC_MESSAGES/messages.po
locale/es_ES/LC_MESSAGES/messages.mo
locale/es_ES/LC_MESSAGES/messages.po
locale/fi_FI/LC_MESSAGES/messages.mo
locale/fi_FI/LC_MESSAGES/messages.po
locale/fr_FR/LC_MESSAGES/messages.mo
locale/fr_FR/LC_MESSAGES/messages.po
locale/hu_HU/LC_MESSAGES/messages.mo
locale/hu_HU/LC_MESSAGES/messages.po
locale/it_IT/LC_MESSAGES/messages.mo
locale/it_IT/LC_MESSAGES/messages.po
locale/ja_JP/LC_MESSAGES/messages.mo
locale/ja_JP/LC_MESSAGES/messages.po
locale/lv_LV/LC_MESSAGES/messages.mo
locale/lv_LV/LC_MESSAGES/messages.po
locale/nb_NO/LC_MESSAGES/messages.mo
locale/nb_NO/LC_MESSAGES/messages.po
locale/nl_NL/LC_MESSAGES/messages.mo
locale/nl_NL/LC_MESSAGES/messages.po
locale/pl_PL/LC_MESSAGES/messages.mo
locale/pl_PL/LC_MESSAGES/messages.po
locale/pt_BR/LC_MESSAGES/messages.mo
locale/pt_BR/LC_MESSAGES/messages.po
locale/ru_RU/LC_MESSAGES/messages.mo
locale/ru_RU/LC_MESSAGES/messages.po
locale/zh_CN/LC_MESSAGES/messages.mo
locale/zh_CN/LC_MESSAGES/messages.po
messages.pot
plugins/af_redditimgur/init.php
plugins/af_unburn/init.php
plugins/auth_internal/init.php
plugins/auth_remote/init.php
plugins/bookmarklets/init.php
plugins/digest/digest.css [deleted file]
plugins/digest/digest.js [deleted file]
plugins/digest/digest_body.php [deleted file]
plugins/digest/images/tile.png [deleted file]
plugins/digest/init.php [deleted file]
plugins/digest/mobile.css [deleted file]
plugins/example/example.js [deleted file]
plugins/example/init.php [deleted file]
plugins/example_api/init.php [deleted file]
plugins/example_article/init.js [deleted file]
plugins/example_article/init.php [deleted file]
plugins/example_feed/init.php [deleted file]
plugins/example_routing/init.php [deleted file]
plugins/example_vfeed/init.php [deleted file]
plugins/googlereaderkeys/init.php
plugins/import_export/init.php
plugins/mobile/article.php [deleted file]
plugins/mobile/backend.php [deleted file]
plugins/mobile/cat.php [deleted file]
plugins/mobile/feed.php [deleted file]
plugins/mobile/home.php [deleted file]
plugins/mobile/index.php [deleted file]
plugins/mobile/init.php [deleted file]
plugins/mobile/iui/LICENSE.txt [deleted file]
plugins/mobile/iui/NOTICE.txt [deleted file]
plugins/mobile/iui/backButton.png [deleted file]
plugins/mobile/iui/blueButton.png [deleted file]
plugins/mobile/iui/cancel.png [deleted file]
plugins/mobile/iui/grayButton.png [deleted file]
plugins/mobile/iui/iui-logo-touch-icon.png [deleted file]
plugins/mobile/iui/iui.css [deleted file]
plugins/mobile/iui/iui.js [deleted file]
plugins/mobile/iui/iuix.css [deleted file]
plugins/mobile/iui/iuix.js [deleted file]
plugins/mobile/iui/listArrow.png [deleted file]
plugins/mobile/iui/listArrowSel.png [deleted file]
plugins/mobile/iui/listGroup.png [deleted file]
plugins/mobile/iui/loading.gif [deleted file]
plugins/mobile/iui/pinstripes.png [deleted file]
plugins/mobile/iui/redButton.png [deleted file]
plugins/mobile/iui/selection.png [deleted file]
plugins/mobile/iui/thumb.png [deleted file]
plugins/mobile/iui/toggle.png [deleted file]
plugins/mobile/iui/toggleOn.png [deleted file]
plugins/mobile/iui/toolButton.png [deleted file]
plugins/mobile/iui/toolbar.png [deleted file]
plugins/mobile/iui/whiteButton.png [deleted file]
plugins/mobile/login_form.php [deleted file]
plugins/mobile/logout.php [deleted file]
plugins/mobile/mobile-functions.php [deleted file]
plugins/mobile/mobile.css [deleted file]
plugins/mobile/mobile.js [deleted file]
plugins/mobile/prefs.php [deleted file]
prefs.css [deleted file]
prefs.php
register.php
themes/default.css
tt-rss.css [deleted file]
update.php
utility.css [deleted file]

index b4853806cf7ebe3780d9808cb60f1618e7023a78..ac3c24319c24a9f4975ff0fc63d94e0334fb7c6c 100644 (file)
@@ -2,6 +2,7 @@
 *~
 *.DS_Store
 #*
+lib/floIcon.php
 .idea/*
 config.php
 feed-icons/*
index 9f0d93f695d19880e1c1b77bd08dbeb662cd3790..facdf82c54db587e9cd07f6cb826b6daec494555 100644 (file)
@@ -57,7 +57,7 @@
 
        $method = strtolower($_REQUEST["op"]);
 
-       $handler = new API(Db::get(), $_REQUEST);
+       $handler = new API($_REQUEST);
 
        if ($handler->before($method)) {
                if ($method && method_exists($handler, $method)) {
index 097b07f55840586d0e70d6c1040264afac2a14c4..e1042648c6f47434e8796cf5c25565ef853d3db9 100644 (file)
@@ -9,7 +9,7 @@
 <html>
        <head>
                <title><xsl:value-of select="atom:title"/></title>
-               <link rel="stylesheet" type="text/css" href="utility.css"/>
+               <link rel="stylesheet" type="text/css" href="css/utility.css"/>
                <script language="javascript" src="lib/xsl_mop-up.js"></script>
        </head>
 
diff --git a/cdm.css b/cdm.css
deleted file mode 100644 (file)
index 6579501..0000000
--- a/cdm.css
+++ /dev/null
@@ -1,196 +0,0 @@
-div.cdmHeader img, div.cdmHeader input, div.cdmFooter img {
-       vertical-align : middle;
-}
-
-div.cdmHeader {
-       display : table;
-}
-
-div.cdmHeader > * {
-       display : table-cell;
-       padding : 5px;
-}
-
-div.cdmHeader > div {
-       white-space : nowrap;
-}
-
-div.cdmHeader > span {
-       width : 100%;
-}
-
-div.cdmHeader span.updated {
-       color : gray;
-       font-weight : normal;
-       font-size : 11px;
-       white-space : nowrap;
-       vertical-align : middle;
-}
-
-div.cdmHeader input {
-       margin-right : 5px;
-}
-
-div.cdmHeader div.updPic {
-       width : 25px;
-       display : inline-block;
-       text-align : center;
-}
-
-div.cdmHeader div.updPic img {
-       vertical-align : middle;
-}
-
-div.cdmHeader img, div.cdmFooter img {
-       margin : 0px 2px 0px 2px;
-}
-
-div.cdmContent a {
-       color : #4684ff;
-}
-
-div.cdmContent a:hover {
-       color : black;
-}
-
-div.cdmContentInner {
-       margin : 10px;
-}
-
-div.cdmContentInner img {
-       border-width : 0px;
-       max-width : 98%;
-       height : auto;
-}
-
-div.cdmFooter {
-       padding : 5px;
-       font-weight : normal;
-       color : gray;
-       clear : both;
-}
-
-div.cdm {
-       border-width : 0px 1px 1px 0px;
-       border-collapse : collapse;
-       border-color : #c0c0c0;
-       border-style : solid;
-       background : #fafafa;
-}
-
-div.cdm.expandable {
-       background : #f0f0f0;
-}
-
-div.cdm.expanded, div.cdm.expandable {
-       margin : 4px 4px 0px 4px;
-       border-width : 1px;
-       border-color : #c0c0c0;
-       box-shadow : 0px 0px 3px #ccc;
-}
-
-div.cdm.expanded div.cdmHeader {
-       background : #e0e0e0;
-}
-
-div.cdm.Unread {
-       background : white;
-}
-
-div.cdm.Unread div.cdmHeader {
-       background : #ecf4ff;
-}
-
-div.cdm.active {
-       border-color : #88b0f0;
-       background : white ! important;
-       box-shadow : 0px 0px 3px #4684ff;
-}
-
-div.cdm.active div.cdmHeader {
-       background : #ecf4ff;
-}
-
-div.cdm.active div.cdmHeader a.title {
-       color : #4684ff;
-}
-
-div.cdm.active div.cdmContent {
-       background : white;
-}
-
-span.cdmExcerpt {
-       font-size : 11px;
-       color : gray;
-       font-weight : normal;
-       cursor : pointer;
-}
-
-div.cdmContent div.postEnclosures {
-       margin-top : 1em;
-       color : gray;
-}
-
-div.cdmFeedTitle {
-       border-color : #a0a0a0;
-       border-width : 0px 0px 1px 0px;
-       border-style : solid;
-       padding : 5px 3px 5px 5px;
-       background : url("images/toolbar.png") bottom left;
-       background-repeat : repeat-x;
-}
-
-div.cdmFeedTitle a.title {
-       color : gray;
-       font-style : italic;
-       font-weight : bold;
-}
-div.cdmFeedTitle a {
-       color : gray;
-}
-
-div.cdmFeedTitle a:hover {
-       color : #4684ff;
-}
-
-div.articleNote {
-       border-style : dashed none dashed none;
-}
-
-div.cdmHeader span.hlFeed {
-       float : right;
-       font-weight : normal;
-       font-style : italic;
-}
-
-div.cdmHeader div.hlFeed, div.cdmHeader div.hlFeed a {
-       vertical-align : middle;
-       color : gray;
-       font-weight : normal;
-       font-style : italic;
-       font-size : 11px;
-}
-
-div.cdmContentInner p {
-       max-width : 650px;
-}
-
-.Unread div.cdmHeader {
-       font-weight : bold;
-}
-
-div.cdmContentInner iframe {
-       min-width : 50%;
-}
-
-div.cdmHeader span.author {
-       color : gray;
-       font-size : 11px;
-       font-weight : normal;
-}
-
-div.cdm.expanded div.cdmHeader a.title, div.cdm.active div.cdmHeader a.title {
-       font-size : 13px;
-}
-
-
index badd0b5647a610ced9f260a8984cefff32bd1f1e..23866072fef5973371c2ba395690c25060ecda81 100644 (file)
@@ -2,7 +2,7 @@
 
 class API extends Handler {
 
-       const API_LEVEL  = 6;
+       const API_LEVEL  = 7;
 
        const STATUS_OK  = 0;
        const STATUS_ERR = 1;
@@ -14,12 +14,12 @@ class API extends Handler {
                        header("Content-Type: text/json");
 
                        if (!$_SESSION["uid"] && $method != "login" && $method != "isloggedin") {
-                               print $this->wrap(self::STATUS_ERR, array("error" => 'NOT_LOGGED_IN'));
+                               $this->wrap(self::STATUS_ERR, array("error" => 'NOT_LOGGED_IN'));
                                return false;
                        }
 
                        if ($_SESSION["uid"] && $method != "logout" && !get_pref('ENABLE_API_ACCESS')) {
-                               print $this->wrap(self::STATUS_ERR, array("error" => 'API_DISABLED'));
+                               $this->wrap(self::STATUS_ERR, array("error" => 'API_DISABLED'));
                                return false;
                        }
 
@@ -38,12 +38,12 @@ class API extends Handler {
 
        function getVersion() {
                $rv = array("version" => VERSION);
-               print $this->wrap(self::STATUS_OK, $rv);
+               $this->wrap(self::STATUS_OK, $rv);
        }
 
        function getApiLevel() {
                $rv = array("level" => self::API_LEVEL);
-               print $this->wrap(self::STATUS_OK, $rv);
+               $this->wrap(self::STATUS_OK, $rv);
        }
 
        function login() {
@@ -65,33 +65,33 @@ class API extends Handler {
                }
 
                if (!$uid) {
-                       print $this->wrap(self::STATUS_ERR, array("error" => "LOGIN_ERROR"));
+                       $this->wrap(self::STATUS_ERR, array("error" => "LOGIN_ERROR"));
                        return;
                }
 
                if (get_pref("ENABLE_API_ACCESS", $uid)) {
                        if (authenticate_user($login, $password)) {               // try login with normal password
-                               print $this->wrap(self::STATUS_OK, array("session_id" => session_id(),
+                               $this->wrap(self::STATUS_OK, array("session_id" => session_id(),
                                        "api_level" => self::API_LEVEL));
                        } else if (authenticate_user($login, $password_base64)) { // else try with base64_decoded password
-                               print $this->wrap(self::STATUS_OK,      array("session_id" => session_id(),
+                               $this->wrap(self::STATUS_OK,    array("session_id" => session_id(),
                                        "api_level" => self::API_LEVEL));
                        } else {                                                         // else we are not logged in
-                               print $this->wrap(self::STATUS_ERR, array("error" => "LOGIN_ERROR"));
+                               $this->wrap(self::STATUS_ERR, array("error" => "LOGIN_ERROR"));
                        }
                } else {
-                       print $this->wrap(self::STATUS_ERR, array("error" => "API_DISABLED"));
+                       $this->wrap(self::STATUS_ERR, array("error" => "API_DISABLED"));
                }
 
        }
 
        function logout() {
                logout_user();
-               print $this->wrap(self::STATUS_OK, array("status" => "OK"));
+               $this->wrap(self::STATUS_OK, array("status" => "OK"));
        }
 
        function isLoggedIn() {
-               print $this->wrap(self::STATUS_OK, array("status" => $_SESSION["uid"] != ''));
+               $this->wrap(self::STATUS_OK, array("status" => $_SESSION["uid"] != ''));
        }
 
        function getUnread() {
@@ -99,15 +99,15 @@ class API extends Handler {
                $is_cat = $this->dbh->escape_string($_REQUEST["is_cat"]);
 
                if ($feed_id) {
-                       print $this->wrap(self::STATUS_OK, array("unread" => getFeedUnread($feed_id, $is_cat)));
+                       $this->wrap(self::STATUS_OK, array("unread" => getFeedUnread($feed_id, $is_cat)));
                } else {
-                       print $this->wrap(self::STATUS_OK, array("unread" => getGlobalUnread()));
+                       $this->wrap(self::STATUS_OK, array("unread" => getGlobalUnread()));
                }
        }
 
        /* Method added for ttrss-reader for Android */
        function getCounters() {
-               print $this->wrap(self::STATUS_OK, getAllCounters());
+               $this->wrap(self::STATUS_OK, getAllCounters());
        }
 
        function getFeeds() {
@@ -119,7 +119,7 @@ class API extends Handler {
 
                $feeds = $this->api_get_feeds($cat_id, $unread_only, $limit, $offset, $include_nested);
 
-               print $this->wrap(self::STATUS_OK, $feeds);
+               $this->wrap(self::STATUS_OK, $feeds);
        }
 
        function getCategories() {
@@ -176,7 +176,7 @@ class API extends Handler {
                        }
                }
 
-               print $this->wrap(self::STATUS_OK, $cats);
+               $this->wrap(self::STATUS_OK, $cats);
        }
 
        function getHeadlines() {
@@ -197,7 +197,8 @@ class API extends Handler {
                        $include_attachments = sql_bool_to_bool($_REQUEST["include_attachments"]);
                        $since_id = (int)$this->dbh->escape_string($_REQUEST["since_id"]);
                        $include_nested = sql_bool_to_bool($_REQUEST["include_nested"]);
-                       $sanitize_content = true;
+                       $sanitize_content = !isset($_REQUEST["sanitize"]) ||
+                               sql_bool_to_bool($_REQUEST["sanitize"]);
 
                        $override_order = false;
                        switch ($_REQUEST["order_by"]) {
@@ -219,9 +220,9 @@ class API extends Handler {
                                $include_attachments, $since_id, $search, $search_mode,
                                $include_nested, $sanitize_content);
 
-                       print $this->wrap(self::STATUS_OK, $headlines);
+                       $this->wrap(self::STATUS_OK, $headlines);
                } else {
-                       print $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE'));
+                       $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE'));
                }
        }
 
@@ -293,11 +294,11 @@ class API extends Handler {
                                }
                        }
 
-                       print $this->wrap(self::STATUS_OK, array("status" => "OK",
+                       $this->wrap(self::STATUS_OK, array("status" => "OK",
                                "updated" => $num_updated));
 
                } else {
-                       print $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE'));
+                       $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE'));
                }
 
        }
@@ -306,54 +307,58 @@ class API extends Handler {
 
                $article_id = join(",", array_filter(explode(",", $this->dbh->escape_string($_REQUEST["article_id"])), is_numeric));
 
-               $query = "SELECT id,title,link,content,cached_content,feed_id,comments,int_id,
-                       marked,unread,published,score,
-                       ".SUBSTRING_FOR_DATE."(updated,1,16) as updated,
-                       author,(SELECT title FROM ttrss_feeds WHERE id = feed_id) AS feed_title
-                       FROM ttrss_entries,ttrss_user_entries
-                       WHERE   id IN ($article_id) AND ref_id = id AND owner_uid = " .
-                               $_SESSION["uid"] ;
+               if ($article_id) {
 
-               $result = $this->dbh->query($query);
+                       $query = "SELECT id,title,link,content,cached_content,feed_id,comments,int_id,
+                               marked,unread,published,score,
+                               ".SUBSTRING_FOR_DATE."(updated,1,16) as updated,
+                               author,(SELECT title FROM ttrss_feeds WHERE id = feed_id) AS feed_title
+                               FROM ttrss_entries,ttrss_user_entries
+                               WHERE   id IN ($article_id) AND ref_id = id AND owner_uid = " .
+                                       $_SESSION["uid"] ;
 
-               $articles = array();
+                       $result = $this->dbh->query($query);
 
-               if ($this->dbh->num_rows($result) != 0) {
+                       $articles = array();
 
-                       while ($line = $this->dbh->fetch_assoc($result)) {
-
-                               $attachments = get_article_enclosures($line['id']);
-
-                               $article = array(
-                                       "id" => $line["id"],
-                                       "title" => $line["title"],
-                                       "link" => $line["link"],
-                                       "labels" => get_article_labels($line['id']),
-                                       "unread" => sql_bool_to_bool($line["unread"]),
-                                       "marked" => sql_bool_to_bool($line["marked"]),
-                                       "published" => sql_bool_to_bool($line["published"]),
-                                       "comments" => $line["comments"],
-                                       "author" => $line["author"],
-                                       "updated" => (int) strtotime($line["updated"]),
-                                       "content" => $line["cached_content"] != "" ? $line["cached_content"] : $line["content"],
-                                       "feed_id" => $line["feed_id"],
-                                       "attachments" => $attachments,
-                                       "score" => (int)$line["score"],
-                                       "feed_title" => $line["feed_title"]
-                               );
+                       if ($this->dbh->num_rows($result) != 0) {
 
-                               foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_RENDER_ARTICLE_API) as $p) {
-                                       $article = $p->hook_render_article_api(array("article" => $article));
-                               }
+                               while ($line = $this->dbh->fetch_assoc($result)) {
 
+                                       $attachments = get_article_enclosures($line['id']);
 
-                               array_push($articles, $article);
+                                       $article = array(
+                                               "id" => $line["id"],
+                                               "title" => $line["title"],
+                                               "link" => $line["link"],
+                                               "labels" => get_article_labels($line['id']),
+                                               "unread" => sql_bool_to_bool($line["unread"]),
+                                               "marked" => sql_bool_to_bool($line["marked"]),
+                                               "published" => sql_bool_to_bool($line["published"]),
+                                               "comments" => $line["comments"],
+                                               "author" => $line["author"],
+                                               "updated" => (int) strtotime($line["updated"]),
+                                               "content" => $line["cached_content"] != "" ? $line["cached_content"] : $line["content"],
+                                               "feed_id" => $line["feed_id"],
+                                               "attachments" => $attachments,
+                                               "score" => (int)$line["score"],
+                                               "feed_title" => $line["feed_title"]
+                                       );
+
+                                       foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_RENDER_ARTICLE_API) as $p) {
+                                               $article = $p->hook_render_article_api(array("article" => $article));
+                                       }
 
-                       }
-               }
 
-               print $this->wrap(self::STATUS_OK, $articles);
+                                       array_push($articles, $article);
 
+                               }
+                       }
+
+                       $this->wrap(self::STATUS_OK, $articles);
+               } else {
+                       $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE'));
+               }
        }
 
        function getConfig() {
@@ -370,7 +375,7 @@ class API extends Handler {
 
                $config["num_feeds"] = (int)$num_feeds;
 
-               print $this->wrap(self::STATUS_OK, $config);
+               $this->wrap(self::STATUS_OK, $config);
        }
 
        function updateFeed() {
@@ -380,7 +385,7 @@ class API extends Handler {
 
                update_rss_feed($feed_id, true);
 
-               print $this->wrap(self::STATUS_OK, array("status" => "OK"));
+               $this->wrap(self::STATUS_OK, array("status" => "OK"));
        }
 
        function catchupFeed() {
@@ -389,13 +394,13 @@ class API extends Handler {
 
                catchup_feed($feed_id, $is_cat);
 
-               print $this->wrap(self::STATUS_OK, array("status" => "OK"));
+               $this->wrap(self::STATUS_OK, array("status" => "OK"));
        }
 
        function getPref() {
                $pref_name = $this->dbh->escape_string($_REQUEST["pref_name"]);
 
-               print $this->wrap(self::STATUS_OK, array("value" => get_pref($pref_name)));
+               $this->wrap(self::STATUS_OK, array("value" => get_pref($pref_name)));
        }
 
        function getLabels() {
@@ -432,7 +437,7 @@ class API extends Handler {
                                "checked" => $checked));
                }
 
-               print $this->wrap(self::STATUS_OK, $rv);
+               $this->wrap(self::STATUS_OK, $rv);
        }
 
        function setArticleLabel() {
@@ -460,7 +465,7 @@ class API extends Handler {
                        }
                }
 
-               print $this->wrap(self::STATUS_OK, array("status" => "OK",
+               $this->wrap(self::STATUS_OK, array("status" => "OK",
                        "updated" => $num_updated));
 
        }
@@ -471,10 +476,10 @@ class API extends Handler {
                if ($plugin && method_exists($plugin, $method)) {
                        $reply = $plugin->$method();
 
-                       print $this->wrap($reply[0], $reply[1]);
+                       $this->wrap($reply[0], $reply[1]);
 
                } else {
-                       print $this->wrap(self::STATUS_ERR, array("error" => 'UNKNOWN_METHOD', "method" => $method));
+                       $this->wrap(self::STATUS_ERR, array("error" => 'UNKNOWN_METHOD', "method" => $method));
                }
        }
 
@@ -484,9 +489,9 @@ class API extends Handler {
                $content = $this->dbh->escape_string(strip_tags($_REQUEST["content"]));
 
                if (Article::create_published_article($title, $url, $content, "", $_SESSION["uid"])) {
-                       print $this->wrap(self::STATUS_OK, array("status" => 'OK'));
+                       $this->wrap(self::STATUS_OK, array("status" => 'OK'));
                } else {
-                       print $this->wrap(self::STATUS_ERR, array("error" => 'Publishing failed'));
+                       $this->wrap(self::STATUS_ERR, array("error" => 'Publishing failed'));
                }
        }
 
@@ -714,9 +719,9 @@ class API extends Handler {
 
                if ($this->dbh->num_rows($result) != 0) {
                        Pref_Feeds::remove_feed($feed_id, $_SESSION["uid"]);
-                       print $this->wrap(self::STATUS_OK, array("status" => "OK"));
+                       $this->wrap(self::STATUS_OK, array("status" => "OK"));
                } else {
-                       print $this->wrap(self::STATUS_ERR, array("error" => "FEED_NOT_FOUND"));
+                       $this->wrap(self::STATUS_ERR, array("error" => "FEED_NOT_FOUND"));
                }
        }
 
@@ -727,12 +732,11 @@ class API extends Handler {
                $password = $this->dbh->escape_string($_REQUEST["password"]);
 
                if ($feed_url) {
-                       $rc = subscribe_to_feed($feed_url, $category_id,
-                               $login, $password, false);
+                       $rc = subscribe_to_feed($feed_url, $category_id, $login, $password);
 
-                       print $this->wrap(self::STATUS_OK, array("status" => $rc));
+                       $this->wrap(self::STATUS_OK, array("status" => $rc));
                } else {
-                       print $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE'));
+                       $this->wrap(self::STATUS_ERR, array("error" => 'INCORRECT_USAGE'));
                }
        }
 
@@ -746,9 +750,9 @@ class API extends Handler {
 
                if ($pf){
                        $data = $pf->makefeedtree();
-                       print $this->wrap(self::STATUS_OK, array("categories" => $data));
+                       $this->wrap(self::STATUS_OK, array("categories" => $data));
                } else {
-                       print $this->wrap(self::STATUS_ERR, array("error" =>
+                       $this->wrap(self::STATUS_ERR, array("error" =>
                                'UNABLE_TO_INSTANTIATE_OBJECT'));
                }
 
index 1198eefa95cc3ebd7624c981df33b8ab4fe791e5..398132d1200b5b1f412f0e9dcdb8cf2984a7bcae 100644 (file)
@@ -44,7 +44,7 @@ class Article extends Handler_Protected {
                } else if ($mode == "raw") {
                        if ($_REQUEST['html']) {
                                header("Content-Type: text/html");
-                               print '<link rel="stylesheet" type="text/css" href="tt-rss.css"/>';
+                               print '<link rel="stylesheet" type="text/css" href="css/tt-rss.css"/>';
                        }
 
                        $article = format_article($id, false);
@@ -215,7 +215,7 @@ class Article extends Handler_Protected {
                $this->dbh->query("UPDATE ttrss_user_entries SET
                        score = '$score' WHERE ref_id IN ($ids) AND owner_uid = " . $_SESSION["uid"]);
 
-               print json_encode(array("id" => $id,
+               print json_encode(array("id" => $ids,
                        "score_pic" => get_score_pic($score)));
        }
 
index 83f99d109f8ff66a2dba0759ea7d4c2d1a20249f..69acd0985c6ceb87a173eafa2983a411589a07ff 100644 (file)
@@ -16,10 +16,12 @@ class Auth_Base {
 
        // Auto-creates specified user if allowed by system configuration
        // Can be used instead of find_user_by_login() by external auth modules
-       function auto_create_user($login) {
+       function auto_create_user($login, $password = false) {
                if ($login && defined('AUTH_AUTO_CREATE') && AUTH_AUTO_CREATE) {
                        $user_id = $this->find_user_by_login($login);
 
+                       if (!$password) $password = make_password();
+
                        if (!$user_id) {
                                $login = $this->dbh->escape_string($login);
                                $salt = substr(bin2hex(get_random_bytes(125)), 0, 250);
index 59499139dcc7329660a6db30dffab48ae4d06abf..126f5150a75365ff64b2ed82a0cac202114832a8 100644 (file)
@@ -79,7 +79,7 @@ class Db_PDO implements IDb {
        }
 
        function last_error() {
-               return join(" ", $pdo->errorInfo());
+               return join(" ", $this->pdo->errorInfo());
        }
 
        function init() {
index 26fb4666bae468cfa977c73eec81792222d976ab..3e92bb89b59073766e61eadf28dac6af0d3826e8 100644 (file)
@@ -105,7 +105,7 @@ class Db_Prefs {
                        return $this->convert($value, $type_name);
 
                } else {
-                       user_error("Fatal error, unknown preferences key: $pref_name", $die_on_error ? E_USER_ERROR : E_USER_WARNING);
+                       user_error("Fatal error, unknown preferences key: $pref_name (owner: $user_id)", $die_on_error ? E_USER_ERROR : E_USER_WARNING);
                        return null;
                }
        }
diff --git a/classes/feedenclosure.php b/classes/feedenclosure.php
new file mode 100644 (file)
index 0000000..d610dd7
--- /dev/null
@@ -0,0 +1,7 @@
+<?php
+class FeedEnclosure {
+       public $link;
+       public $type;
+       public $length;
+}
+?>
diff --git a/classes/feeditem.php b/classes/feeditem.php
new file mode 100644 (file)
index 0000000..e64a13f
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+abstract class FeedItem {
+       abstract function get_id();
+       abstract function get_date();
+       abstract function get_link();
+       abstract function get_title();
+       abstract function get_description();
+       abstract function get_content();
+       abstract function get_comments_url();
+       abstract function get_comments_count();
+       abstract function get_categories();
+       abstract function get_enclosures();
+       abstract function get_author();
+}
+?>
diff --git a/classes/feeditem/atom.php b/classes/feeditem/atom.php
new file mode 100644 (file)
index 0000000..73a586d
--- /dev/null
@@ -0,0 +1,122 @@
+<?php
+class FeedItem_Atom extends FeedItem_Common {
+       function get_id() {
+               $id = $this->elem->getElementsByTagName("id")->item(0);
+
+               if ($id) {
+                       return $id->nodeValue;
+               } else {
+                       return $this->get_link();
+               }
+       }
+
+       function get_date() {
+               $updated = $this->elem->getElementsByTagName("updated")->item(0);
+
+               if ($updated) {
+                       return strtotime($updated->nodeValue);
+               }
+       }
+
+       function get_link() {
+               $links = $this->elem->getElementsByTagName("link");
+
+               foreach ($links as $link) {
+                       if ($link && $link->hasAttribute("href") && (!$link->hasAttribute("rel")
+                                       || $link->getAttribute("rel") == "alternate")) {
+                               return $link->getAttribute("href");
+                       }
+               }
+       }
+
+       function get_title() {
+               $title = $this->elem->getElementsByTagName("title")->item(0);
+
+               if ($title) {
+                       return $title->nodeValue;
+               }
+       }
+
+       function get_content() {
+               $content = $this->elem->getElementsByTagName("content")->item(0);
+
+               if ($content) {
+                       if ($content->hasAttribute('type')) {
+                               if ($content->getAttribute('type') == 'xhtml') {
+                                       return $this->doc->saveXML($content->firstChild->nextSibling);
+                               }
+                       }
+
+                       return $content->nodeValue;
+               }
+       }
+
+       function get_description() {
+               $content = $this->elem->getElementsByTagName("summary")->item(0);
+
+               if ($content) {
+                       if ($content->hasAttribute('type')) {
+                               if ($content->getAttribute('type') == 'xhtml') {
+                                       return $this->doc->saveXML($content->firstChild->nextSibling);
+                               }
+                       }
+
+                       return $content->nodeValue;
+               }
+
+       }
+
+       function get_categories() {
+               $categories = $this->elem->getElementsByTagName("category");
+               $cats = array();
+
+               foreach ($categories as $cat) {
+                       if ($cat->hasAttribute("term"))
+                               array_push($cats, $cat->getAttribute("term"));
+               }
+
+               $categories = $this->xpath->query("dc:subject", $this->elem);
+
+               foreach ($categories as $cat) {
+                       array_push($cats, $cat->nodeValue);
+               }
+
+               return $cats;
+       }
+
+       function get_enclosures() {
+               $links = $this->elem->getElementsByTagName("link");
+
+               $encs = array();
+
+               foreach ($links as $link) {
+                       if ($link && $link->hasAttribute("href") && $link->hasAttribute("rel")) {
+                               if ($link->getAttribute("rel") == "enclosure") {
+                                       $enc = new FeedEnclosure();
+
+                                       $enc->type = $link->getAttribute("type");
+                                       $enc->link = $link->getAttribute("href");
+                                       $enc->length = $link->getAttribute("length");
+
+                                       array_push($encs, $enc);
+                               }
+                       }
+               }
+
+               $enclosures = $this->xpath->query("media:content", $this->elem);
+
+               foreach ($enclosures as $enclosure) {
+                       $enc = new FeedEnclosure();
+
+                       $enc->type = $enclosure->getAttribute("type");
+                       $enc->link = $enclosure->getAttribute("url");
+                       $enc->length = $enclosure->getAttribute("length");
+
+                       array_push($encs, $enc);
+               }
+
+               return $encs;
+       }
+
+}
+?>
diff --git a/classes/feeditem/common.php b/classes/feeditem/common.php
new file mode 100644 (file)
index 0000000..0787a42
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+abstract class FeedItem_Common extends FeedItem {
+       protected $elem;
+       protected $xpath;
+       protected $doc;
+
+       function __construct($elem, $doc, $xpath) {
+               $this->elem = $elem;
+               $this->xpath = $xpath;
+               $this->doc = $doc;
+       }
+
+       function get_author() {
+               $author = $this->elem->getElementsByTagName("author")->item(0);
+
+               if ($author) {
+                       $name = $author->getElementsByTagName("name")->item(0);
+
+                       if ($name) return $name->nodeValue;
+
+                       $email = $author->getElementsByTagName("email")->item(0);
+
+                       if ($email) return $email->nodeValue;
+
+                       if ($author->nodeValue)
+                               return $author->nodeValue;
+               }
+
+               $author = $this->xpath->query("dc:creator", $this->elem)->item(0);
+
+               if ($author) {
+                       return $author->nodeValue;
+               }
+       }
+
+       // todo
+       function get_comments_url() {
+
+       }
+
+       function get_comments_count() {
+               $comments = $this->xpath->query("slash:comments", $this->elem)->item(0);
+
+               if ($comments) {
+                       return $comments->nodeValue;
+               }
+       }
+
+
+}
+?>
diff --git a/classes/feeditem/rss.php b/classes/feeditem/rss.php
new file mode 100644 (file)
index 0000000..34dfee1
--- /dev/null
@@ -0,0 +1,119 @@
+<?php
+class FeedItem_RSS extends FeedItem_Common {
+       function get_id() {
+               $id = $this->elem->getElementsByTagName("guid")->item(0);
+
+               if ($id) {
+                       return $id->nodeValue;
+               } else {
+                       return $this->get_link();
+               }
+       }
+
+       function get_date() {
+               $pubDate = $this->elem->getElementsByTagName("pubDate")->item(0);
+
+               if ($pubDate) {
+                       return strtotime($pubDate->nodeValue);
+               }
+       }
+
+       function get_link() {
+               $link = $this->xpath->query("atom:link", $this->elem)->item(0);
+
+               if ($link) {
+                       return $link->getAttribute("href");
+               }
+
+               $link = $this->elem->getElementsByTagName("guid")->item(0);
+
+               if ($link && $link->hasAttributes() && $link->getAttribute("isPermaLink") == "true") {
+                       return $link->nodeValue;
+               }
+
+               $link = $this->elem->getElementsByTagName("link")->item(0);
+
+               if ($link) {
+                       return $link->nodeValue;
+               }
+       }
+
+       function get_title() {
+               $title = $this->elem->getElementsByTagName("title")->item(0);
+
+               if ($title) {
+                       return $title->nodeValue;
+               }
+       }
+
+       function get_content() {
+               $content = $this->xpath->query("content:encoded", $this->elem)->item(0);
+
+               if ($content) {
+                       return $content->nodeValue;
+               }
+
+               $content = $this->elem->getElementsByTagName("description")->item(0);
+
+               if ($content) {
+                       return $content->nodeValue;
+               }
+       }
+
+       function get_description() {
+               $summary = $this->elem->getElementsByTagName("description")->item(0);
+
+               if ($summary) {
+                       return $summary->nodeValue;
+               }
+       }
+
+       function get_categories() {
+               $categories = $this->elem->getElementsByTagName("category");
+               $cats = array();
+
+               foreach ($categories as $cat) {
+                       array_push($cats, $cat->nodeValue);
+               }
+
+               $categories = $this->xpath->query("dc:subject", $this->elem);
+
+               foreach ($categories as $cat) {
+                       array_push($cats, $cat->nodeValue);
+               }
+
+               return $cats;
+       }
+
+       function get_enclosures() {
+               $enclosures = $this->elem->getElementsByTagName("enclosure");
+
+               $encs = array();
+
+               foreach ($enclosures as $enclosure) {
+                       $enc = new FeedEnclosure();
+
+                       $enc->type = $enclosure->getAttribute("type");
+                       $enc->link = $enclosure->getAttribute("url");
+                       $enc->length = $enclosure->getAttribute("length");
+
+                       array_push($encs, $enc);
+               }
+
+               $enclosures = $this->xpath->query("media:content", $this->elem);
+
+               foreach ($enclosures as $enclosure) {
+                       $enc = new FeedEnclosure();
+
+                       $enc->type = $enclosure->getAttribute("type");
+                       $enc->link = $enclosure->getAttribute("url");
+                       $enc->length = $enclosure->getAttribute("length");
+
+                       array_push($encs, $enc);
+               }
+
+               return $encs;
+       }
+
+}
+?>
diff --git a/classes/feedparser.php b/classes/feedparser.php
new file mode 100644 (file)
index 0000000..d93c575
--- /dev/null
@@ -0,0 +1,214 @@
+<?php
+class FeedParser {
+       private $doc;
+       private $error;
+       private $items;
+       private $link;
+       private $title;
+       private $type;
+       private $xpath;
+
+       const FEED_RDF = 0;
+       const FEED_RSS = 1;
+       const FEED_ATOM = 2;
+
+       function __construct($data) {
+               libxml_use_internal_errors(true);
+               libxml_clear_errors();
+               $this->doc = new DOMDocument();
+               $this->doc->loadXML($data);
+
+               $error = libxml_get_last_error();
+
+               if ($error && $error->code == 9) {
+                       libxml_clear_errors();
+
+                       // we might want to try guessing input encoding here too
+                       $data = iconv("UTF-8", "UTF-8//IGNORE", $data);
+
+                       $this->doc = new DOMDocument();
+                       $this->doc->loadXML($data);
+
+                       $error = libxml_get_last_error();
+               }
+
+               $this->error = $this->format_error($error);
+               libxml_clear_errors();
+
+               $this->items = array();
+       }
+
+       function init() {
+               $root = $this->doc->firstChild;
+               $xpath = new DOMXPath($this->doc);
+               $xpath->registerNamespace('atom', 'http://www.w3.org/2005/Atom');
+               $xpath->registerNamespace('atom03', 'http://purl.org/atom/ns#');
+               $xpath->registerNamespace('media', 'http://search.yahoo.com/mrss/');
+               $xpath->registerNamespace('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#');
+               $xpath->registerNamespace('slash', 'http://purl.org/rss/1.0/modules/slash/');
+               $xpath->registerNamespace('dc', 'http://purl.org/dc/elements/1.1/');
+               $xpath->registerNamespace('content', 'http://purl.org/rss/1.0/modules/content/');
+
+               $this->xpath = $xpath;
+
+               $root = $xpath->query("(//atom03:feed|//atom:feed|//channel|//rdf:rdf|//rdf:RDF)")->item(0);
+
+               if ($root) {
+                       switch (mb_strtolower($root->tagName)) {
+                       case "rdf:rdf":
+                               $this->type = $this::FEED_RDF;
+                               break;
+                       case "channel":
+                               $this->type = $this::FEED_RSS;
+                               break;
+                       case "feed":
+                               $this->type = $this::FEED_ATOM;
+                               break;
+                       default:
+                               if( !isset($this->error) ){
+                                       $this->error = "Unknown/unsupported feed type";
+                               }
+                               return;
+                       }
+
+                       switch ($this->type) {
+                       case $this::FEED_ATOM:
+
+                               $title = $xpath->query("//atom:feed/atom:title")->item(0);
+
+                               if (!$title)
+                                       $title = $xpath->query("//atom03:feed/atom03:title")->item(0);
+
+
+                               if ($title) {
+                                       $this->title = $title->nodeValue;
+                               }
+
+                               $link = $xpath->query("//atom:feed/atom:link[not(@rel)]")->item(0);
+
+                               if (!$link)
+                                       $link = $xpath->query("//atom03:feed/atom03:link[not(@rel)]")->item(0);
+
+
+                               if ($link && $link->hasAttributes()) {
+                                       $this->link = $link->getAttribute("href");
+                               }
+
+                               $articles = $xpath->query("//atom:entry");
+
+                               if (!$articles || $articles->length == 0)
+                                       $articles = $xpath->query("//atom03:entry");
+
+                               foreach ($articles as $article) {
+                                       array_push($this->items, new FeedItem_Atom($article, $this->doc, $this->xpath));
+                               }
+
+                               break;
+                       case $this::FEED_RSS:
+                               $title = $xpath->query("//channel/title")->item(0);
+
+                               if ($title) {
+                                       $this->title = $title->nodeValue;
+                               }
+
+                               $link = $xpath->query("//channel/link")->item(0);
+
+                               if ($link) {
+                                       if ($link->getAttribute("href"))
+                                               $this->link = $link->getAttribute("href");
+                                       else if ($link->nodeValue)
+                                               $this->link = $link->nodeValue;
+                               }
+
+                               $articles = $xpath->query("//channel/item");
+
+                               foreach ($articles as $article) {
+                                       array_push($this->items, new FeedItem_RSS($article, $this->doc, $this->xpath));
+                               }
+
+                               break;
+                       case $this::FEED_RDF:
+                               $xpath->registerNamespace('rssfake', 'http://purl.org/rss/1.0/');
+
+                               $title = $xpath->query("//rssfake:channel/rssfake:title")->item(0);
+
+                               if ($title) {
+                                       $this->title = $title->nodeValue;
+                               }
+
+                               $link = $xpath->query("//rssfake:channel/rssfake:link")->item(0);
+
+                               if ($link) {
+                                       $this->link = $link->nodeValue;
+                               }
+
+                               $articles = $xpath->query("//rssfake:item");
+
+                               foreach ($articles as $article) {
+                                       array_push($this->items, new FeedItem_RSS($article, $this->doc, $this->xpath));
+                               }
+
+                               break;
+
+                       }
+               } else {
+                       if( !isset($this->error) ){
+                               $this->error = "Unknown/unsupported feed type";
+                       }
+                       return;
+               }
+       }
+
+       function format_error($error) {
+               if ($error) {
+                       return sprintf("LibXML error %s at line %d (column %d): %s",
+                               $error->code, $error->line, $error->column,
+                               $error->message);
+               } else {
+                       return "";
+               }
+       }
+
+       function error() {
+               return $this->error;
+       }
+
+       function get_link() {
+               return $this->link;
+       }
+
+       function get_title() {
+               return $this->title;
+       }
+
+       function get_items() {
+               return $this->items;
+       }
+
+       function get_links($rel) {
+               $rv = array();
+
+               switch ($this->type) {
+               case $this::FEED_ATOM:
+                       $links = $this->xpath->query("//atom:feed/atom:link");
+
+                       foreach ($links as $link) {
+                               if (!$rel || $link->hasAttribute('rel') && $link->getAttribute('rel') == $rel) {
+                                       array_push($rv, $link->getAttribute('href'));
+                               }
+                       }
+                       break;
+               case $this::FEED_RSS:
+                       $links = $this->xpath->query("//atom:link");
+
+                       foreach ($links as $link) {
+                               if (!$rel || $link->hasAttribute('rel') && $link->getAttribute('rel') == $rel) {
+                                       array_push($rv, $link->getAttribute('href'));
+                               }
+                       }
+                       break;
+               }
+
+               return $rv;
+       }
+} ?>
index f21bb3ce5ed3ed3db9514391021d8a7df6493046..12af76df0973aa563df811d38663a81b65ca1de2 100644 (file)
@@ -288,8 +288,6 @@ class Feeds extends Handler_Protected {
                        $expand_cdm = get_pref('CDM_EXPANDED');
 
                        while ($line = $this->dbh->fetch_assoc($result)) {
-                               $class = ($lnum % 2) ? "even" : "odd";
-
                                $id = $line["id"];
                                $feed_id = $line["feed_id"];
                                $label_cache = $line["label_cache"];
@@ -316,6 +314,8 @@ class Feeds extends Handler_Protected {
                                        array_push($topmost_article_ids, $id);
                                }
 
+                               $class = "";
+
                                if (sql_bool_to_bool($line["unread"])) {
                                        $class .= " Unread";
                                        ++$num_unread;
@@ -409,23 +409,6 @@ class Feeds extends Handler_Protected {
                                        if (!isset($rgba_cache[$feed_id])) {
                                                $rgba_cache[$feed_id] = join(",", _color_unpack($fav_color));
                                        }
-
-                                       $rgba = $rgba_cache[$feed_id];
-
-                                       if (sql_bool_to_bool($line["unread"]))
-                                               $endalpha = '0.3';
-                                       else
-                                               $endalpha = '0.1';
-
-                                       // W3C definition seems to work in FF and Chrome
-                                       $row_background = "background-image : linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba($rgba, $endalpha) 100%);";
-
-                                       /* $row_background = "background-image : -moz-linear-gradient(left, rgba(255, 255, 255, 0) 50%, rgba($rgba, 0.2) 100%);".
-                                               "background-image : linear-gradient(to right, rgba(255, 255, 255, 0) 50%, rgba($rgba, 0.2) 100%);";
-                                               "background-image : -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(255,255,255,0)),
-                                                       color-stop(100%, rgba($rgba, 0.2)));"; */
-                               } else {
-                                       $row_background = "";
                                }
 
                                if (!get_pref('COMBINED_DISPLAY_MODE')) {
@@ -451,7 +434,7 @@ class Feeds extends Handler_Protected {
                                        $mouseover_attrs = "onmouseover='postMouseIn(event, $id)'
                                                onmouseout='postMouseOut($id)'";
 
-                                       $reply['content'] .= "<div class='hl $class' id='RROW-$id' $mouseover_attrs style='$row_background'>";
+                                       $reply['content'] .= "<div class='hl $class' id='RROW-$id' $mouseover_attrs>";
 
                                        $reply['content'] .= "<div class='hlLeft'>";
 
@@ -487,14 +470,14 @@ class Feeds extends Handler_Protected {
 
                                        if (!get_pref('VFEED_GROUP_BY_FEED')) {
                                                if (@$line["feed_title"]) {
-                                                       $reply['content'] .= "<div class=\"hlFeed\">
-                                                               <a href=\"#\" onclick=\"viewfeed($feed_id)\">".
-                                                               truncate_string($line["feed_title"],30)."</a>
-                                                       </div>";
+                                                       $rgba = @$rgba_cache[$feed_id];
+
+                                                       $reply['content'] .= "<a class=\"hlFeed\" style=\"background : rgba($rgba, 0.3)\" href=\"#\" onclick=\"viewfeed($feed_id)\">".
+                                                               truncate_string($line["feed_title"],30)."</a>";
                                                }
                                        }
 
-                                       $reply['content'] .= "<span title='$date_entered_fmt'>$updated_fmt</span>
+                                       $reply['content'] .= "<div title='$date_entered_fmt'>$updated_fmt</div>
                                                </span>";
 
                                        $reply['content'] .= "<div class=\"hlRight\">";
@@ -514,8 +497,10 @@ class Feeds extends Handler_Protected {
 
                                } else {
 
-                                       $line["tags"] = get_article_tags($id, $_SESSION["uid"], $line["tag_cache"]);
-                                       unset($line["tag_cache"]);
+                                       if ($line["tag_cache"])
+                                               $tags = explode(",", $line["tag_cache"]);
+                                       else
+                                               $tags = false;
 
                                        $line["content"] = sanitize($line["content_preview"],
                                                        sql_bool_to_bool($line['hide_images']), false, $entry_site_url);
@@ -576,7 +561,7 @@ class Feeds extends Handler_Protected {
                                                target=\"_blank\" href=\"".
                                                htmlspecialchars($line["link"])."\">".
                                                $line["title"] .
-                                               " <span class=\"author\">$entry_author</span></a>";
+                                               "</a> <span class=\"author\">$entry_author</span>";
 
                                        $reply['content'] .= $labels_str;
 
@@ -595,8 +580,11 @@ class Feeds extends Handler_Protected {
 
                                        if (!get_pref('VFEED_GROUP_BY_FEED')) {
                                                if (@$line["feed_title"]) {
+                                                       $rgba = @$rgba_cache[$feed_id];
+
                                                        $reply['content'] .= "<div class=\"hlFeed\">
-                                                               <a href=\"#\" onclick=\"viewfeed($feed_id)\">".
+                                                               <a href=\"#\" style=\"background-color: rgba($rgba,0.3)\"
+                                                               onclick=\"viewfeed($feed_id)\">".
                                                                truncate_string($line["feed_title"],30)."</a>
                                                        </div>";
                                                }
@@ -627,7 +615,6 @@ class Feeds extends Handler_Protected {
                                        }
                                        $reply['content'] .= "</div>";
 
-
                                        $reply['content'] .= "<div class=\"cdmContentInner\">";
 
                        if ($line["orig_feed_id"]) {
@@ -682,7 +669,7 @@ class Feeds extends Handler_Protected {
                                                $reply['content'] .= $p->hook_article_left_button($line);
                                        }
 
-                                       $tags_str = format_tags_string($line["tags"], $id);
+                                       $tags_str = format_tags_string($tags, $id);
 
                                        $reply['content'] .= "<img src='images/tag.png' alt='Tags' title='Tags'>
                                                <span id=\"ATSTR-$id\">$tags_str</span>
@@ -719,7 +706,7 @@ class Feeds extends Handler_Protected {
                                        $reply['content'] .= "</div>";
                                        $reply['content'] .= "</div>";
 
-                                       $reply['content'] .= "</div>";
+                                       $reply['content'] .= "</div><hr/>";
 
                                        $reply['content'] .= "</div>";
 
index d5933a18c01ee0b24ad010e48f1ea9a25e373a9d..3e868d56e8e111d475527f9ae23828ab7d9b4ef7 100644 (file)
@@ -382,9 +382,9 @@ class Handler_Public extends Handler {
                header('Content-Type: text/html; charset=utf-8');
                print "<html><head><title>Tiny Tiny RSS</title>";
 
-               print stylesheet_tag("utility.css");
-               print javascript_tag("lib/prototype.js");
-               print javascript_tag("lib/scriptaculous/scriptaculous.js?load=effects,dragdrop,controls");
+               stylesheet_tag("css/utility.css");
+               javascript_tag("lib/prototype.js");
+               javascript_tag("lib/scriptaculous/scriptaculous.js?load=effects,dragdrop,controls");
                print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
                        </head><body id='sharepopup'>";
 
@@ -553,7 +553,7 @@ class Handler_Public extends Handler {
                        print "<html>
                                <head>
                                        <title>Tiny Tiny RSS</title>
-                                       <link rel=\"stylesheet\" type=\"text/css\" href=\"utility.css\">
+                                       <link rel=\"stylesheet\" type=\"text/css\" href=\"css/utility.css\">
                                        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
                                </head>
                                <body>
@@ -643,6 +643,7 @@ class Handler_Public extends Handler {
                $feed_url = $this->dbh->escape_string(trim($_REQUEST["feed_url"]));
                $cat_id = $this->dbh->escape_string($_REQUEST["cat_id"]);
                $from = $this->dbh->escape_string($_REQUEST["from"]);
+               $feed_urls = array();
 
                /* only read authentication information from POST */
 
@@ -666,8 +667,10 @@ class Handler_Public extends Handler {
                        break;
                case 4:
                        print_notice(__("Multiple feed URLs found."));
-
-                       $feed_urls = get_feeds_from_html($feed_url);
+                       $contents = @fetch_file_contents($url, false, $auth_login, $auth_pass);
+                       if (is_html($contents)) {
+                               $feed_urls = get_feeds_from_html($url, $contents);
+                       }
                        break;
                case 5:
                        print_error(T_sprintf("Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL.", $feed_url));
@@ -732,8 +735,8 @@ class Handler_Public extends Handler {
                header('Content-Type: text/html; charset=utf-8');
                print "<html><head><title>Tiny Tiny RSS</title>";
 
-               print stylesheet_tag("utility.css");
-               print javascript_tag("lib/prototype.js");
+               stylesheet_tag("css/utility.css");
+               javascript_tag("lib/prototype.js");
 
                print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
                        </head><body id='forgotpass'>";
@@ -832,7 +835,7 @@ class Handler_Public extends Handler {
                        <head>
                        <title>Database Updater</title>
                        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-                       <link rel="stylesheet" type="text/css" href="utility.css"/>
+                       <link rel="stylesheet" type="text/css" href="css/utility.css"/>
                        </head>
                        <style type="text/css">
                                span.ok { color : #009000; font-weight : bold; }
index 3f4030dea190e62bed68b14cbec0fae441ed1071..b37b72c21e43bf02c12032e1b148f8b0749b12cf 100644 (file)
@@ -24,7 +24,7 @@ class Opml extends Handler_Protected {
 
                print "<html>
                        <head>
-                               <link rel=\"stylesheet\" href=\"utility.css\" type=\"text/css\">
+                               <link rel=\"stylesheet\" href=\"css/utility.css\" type=\"text/css\">
                                <title>".__("OPML Utility")."</title>
                                <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
                        </head>
index 8e2aefcf167ae3584e08ff52e64e3dfa218551e8..9ac1789f562e39d3cdda0d59c30f7200b8891f6e 100644 (file)
@@ -36,6 +36,7 @@ class PluginHost {
        const HOOK_ARTICLE_LEFT_BUTTON = 19;
        const HOOK_PREFS_EDIT_FEED = 20;
        const HOOK_PREFS_SAVE_FEED = 21;
+       const HOOK_FETCH_FEED = 22;
 
        const KIND_ALL = 1;
        const KIND_SYSTEM = 2;
@@ -186,7 +187,7 @@ class PluginHost {
                }
        }
 
-       function del_handler($handler, $method) {
+       function del_handler($handler, $method, $sender) {
                $handler = str_replace("-", "_", strtolower($handler));
                $method = strtolower($method);
 
@@ -252,8 +253,6 @@ class PluginHost {
 
        function load_data($force = false) {
                if ($this->owner_uid)  {
-                       $plugin = $this->dbh->escape_string($plugin);
-
                        $result = $this->dbh->query("SELECT name, content FROM ttrss_plugin_storage
                                WHERE owner_uid = '".$this->owner_uid."'");
 
index e3172511151e85fd25f83d57d970da54f6d86a3f..d43740310700cde1ec7ba46ebbf2b19d0af9729b 100644 (file)
@@ -36,8 +36,7 @@ class Pref_Feeds extends Handler_Protected {
 
                // first one is set by API
                $show_empty_cats = $_REQUEST['force_show_empty'] ||
-                       ($_REQUEST['mode'] != 2 && !$search &&
-                               get_pref('_PREFS_SHOW_EMPTY_CATS'));
+                       ($_REQUEST['mode'] != 2 && !$search);
 
                $items = array();
 
@@ -55,6 +54,7 @@ class Pref_Feeds extends Handler_Protected {
                        $cat['type'] = 'category';
                        $cat['unread'] = 0;
                        $cat['child_unread'] = 0;
+                       $cat['auxcounter'] = 0;
 
                        $cat['items'] = $this->get_category_items($line['id']);
 
@@ -75,6 +75,7 @@ class Pref_Feeds extends Handler_Protected {
                        $feed = array();
                        $feed['id'] = 'FEED:' . $feed_line['id'];
                        $feed['bare_id'] = (int)$feed_line['id'];
+                       $feed['auxcounter'] = 0;
                        $feed['name'] = $feed_line['title'];
                        $feed['checkbox'] = false;
                        $feed['unread'] = 0;
@@ -133,6 +134,7 @@ class Pref_Feeds extends Handler_Protected {
                                        $item = array();
                                        $item['id'] = 'FEED:' . $feed_id;
                                        $item['bare_id'] = (int)$feed_id;
+                                       $item['auxcounter'] = 0;
                                        $item['name'] = $feed['title'];
                                        $item['checkbox'] = false;
                                        $item['error'] = '';
@@ -185,8 +187,7 @@ class Pref_Feeds extends Handler_Protected {
 
                if ($enable_cats) {
                        $show_empty_cats = $_REQUEST['force_show_empty'] ||
-                               ($_REQUEST['mode'] != 2 && !$search &&
-                               get_pref('_PREFS_SHOW_EMPTY_CATS'));
+                               ($_REQUEST['mode'] != 2 && !$search);
 
                        $result = $this->dbh->query("SELECT id, title FROM ttrss_feed_categories
                                WHERE owner_uid = " . $_SESSION["uid"] . " AND parent_cat IS NULL ORDER BY order_id, title");
@@ -195,6 +196,7 @@ class Pref_Feeds extends Handler_Protected {
                                $cat = array();
                                $cat['id'] = 'CAT:' . $line['id'];
                                $cat['bare_id'] = (int)$line['id'];
+                               $cat['auxcounter'] = 0;
                                $cat['name'] = $line['title'];
                                $cat['items'] = array();
                                $cat['checkbox'] = false;
@@ -217,6 +219,7 @@ class Pref_Feeds extends Handler_Protected {
                        $cat = array();
                        $cat['id'] = 'CAT:0';
                        $cat['bare_id'] = 0;
+                       $cat['auxcounter'] = 0;
                        $cat['name'] = __("Uncategorized");
                        $cat['items'] = array();
                        $cat['type'] = 'category';
@@ -234,6 +237,7 @@ class Pref_Feeds extends Handler_Protected {
                                $feed = array();
                                $feed['id'] = 'FEED:' . $feed_line['id'];
                                $feed['bare_id'] = (int)$feed_line['id'];
+                               $feed['auxcounter'] = 0;
                                $feed['name'] = $feed_line['title'];
                                $feed['checkbox'] = false;
                                $feed['error'] = $feed_line['last_error'];
@@ -265,6 +269,7 @@ class Pref_Feeds extends Handler_Protected {
                                $feed = array();
                                $feed['id'] = 'FEED:' . $feed_line['id'];
                                $feed['bare_id'] = (int)$feed_line['id'];
+                               $feed['auxcounter'] = 0;
                                $feed['name'] = $feed_line['title'];
                                $feed['checkbox'] = false;
                                $feed['error'] = $feed_line['last_error'];
@@ -305,11 +310,6 @@ class Pref_Feeds extends Handler_Protected {
                return;
        }
 
-       function togglehiddenfeedcats() {
-               set_pref('_PREFS_SHOW_EMPTY_CATS',
-                       (get_pref('_PREFS_SHOW_EMPTY_CATS') ? 'false' : 'true'));
-       }
-
        private function process_category_order(&$data_map, $item_id, $parent_id = false, $nest_level = 0) {
                $debug = isset($_REQUEST["debug"]);
 
@@ -794,7 +794,7 @@ class Pref_Feeds extends Handler_Protected {
 
                print "<input dojoType=\"dijit.form.ValidationTextBox\"
                        disabled=\"1\" style=\"font-size : 16px; width : 20em;\" required=\"1\"
-                       name=\"title\" value=\"$title\">";
+                       name=\"title\" value=\"\">";
 
                $this->batch_edit_cbox("title");
 
@@ -805,7 +805,7 @@ class Pref_Feeds extends Handler_Protected {
                print __('URL:') . " ";
                print "<input dojoType=\"dijit.form.ValidationTextBox\" disabled=\"1\"
                        required=\"1\" regExp='^(http|https)://.*' style=\"width : 20em\"
-                       name=\"feed_url\" value=\"$feed_url\">";
+                       name=\"feed_url\" value=\"\">";
 
                $this->batch_edit_cbox("feed_url");
 
@@ -817,7 +817,7 @@ class Pref_Feeds extends Handler_Protected {
 
                        print __('Place in category:') . " ";
 
-                       print_feed_cat_select("cat_id", $cat_id,
+                       print_feed_cat_select("cat_id", false,
                                'disabled="1" dojoType="dijit.form.Select"');
 
                        $this->batch_edit_cbox("cat_id");
@@ -831,7 +831,7 @@ class Pref_Feeds extends Handler_Protected {
 
                /* Update Interval */
 
-               print_select_hash("update_interval", $update_interval, $update_intervals,
+               print_select_hash("update_interval", "", $update_intervals,
                        'disabled="1" dojoType="dijit.form.Select"');
 
                $this->batch_edit_cbox("update_interval");
@@ -844,7 +844,7 @@ class Pref_Feeds extends Handler_Protected {
 
                        print __('Article purging:') . " ";
 
-                       print_select_hash("purge_interval", $purge_interval, $purge_intervals,
+                       print_select_hash("purge_interval", "", $purge_intervals,
                                'disabled="1" dojoType="dijit.form.Select"');
 
                        $this->batch_edit_cbox("purge_interval");
@@ -856,13 +856,13 @@ class Pref_Feeds extends Handler_Protected {
 
                print "<input dojoType=\"dijit.form.TextBox\"
                        placeHolder=\"".__("Login")."\" disabled=\"1\"
-                       name=\"auth_login\" value=\"$auth_login\">";
+                       name=\"auth_login\" value=\"\">";
 
                $this->batch_edit_cbox("auth_login");
 
                print "<br/><input dojoType=\"dijit.form.TextBox\" type=\"password\" name=\"auth_pass\"
                        placeHolder=\"".__("Password")."\" disabled=\"1\"
-                       value=\"$auth_pass\">";
+                       value=\"\">";
 
                $this->batch_edit_cbox("auth_pass");
 
@@ -1351,9 +1351,6 @@ class Pref_Feeds extends Handler_Protected {
                print $error_button;
                print $inactive_button;
 
-               print "<button onclick=\"toggleHiddenFeedCats()\"
-                       dojoType=\"dijit.form.Button\">".__('(Un)hide empty categories')."</button>";
-
                if (defined('_ENABLE_FEED_DEBUGGING')) {
 
                        print "<select id=\"feedActionChooser\" onchange=\"feedActionChange()\">
@@ -1418,9 +1415,7 @@ class Pref_Feeds extends Handler_Protected {
 
                print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('OPML')."\">";
 
-               print "<p>" . __("Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings.") . " ";
-
-               print __("Only main settings profile can be migrated using OPML.") . "</p>";
+               print_notice(__("Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings.") . __("Only main settings profile can be migrated using OPML."));
 
                print "<iframe id=\"upload_iframe\"
                        name=\"upload_iframe\" onload=\"opmlImportComplete(this)\"
@@ -1463,7 +1458,7 @@ class Pref_Feeds extends Handler_Protected {
 
                        print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Firefox integration')."\">";
 
-                       print "<p>" . __('This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below.') . "</p>";
+                       print_notice(__('This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below.'));
 
                        print "<p>";
 
@@ -1480,26 +1475,30 @@ class Pref_Feeds extends Handler_Protected {
 
                print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Published & shared articles / Generated feeds')."\">";
 
-               print "<h3>" . __("Published articles and generated feeds") . "</h3>";
-
-               print "<p>".__('Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below.')."</p>";
+               print_notice(__('Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below.'));
 
                $rss_url = '-2::' . htmlspecialchars(get_self_url_prefix() .
                                "/public.php?op=rss&id=-2&view-mode=all_articles");;
 
+               print "<p>";
+
                print "<button dojoType=\"dijit.form.Button\" onclick=\"return displayDlg('".__("View as RSS")."','generatedFeed', '$rss_url')\">".
                        __('Display URL')."</button> ";
 
                print "<button dojoType=\"dijit.form.Button\" onclick=\"return clearFeedAccessKeys()\">".
                        __('Clear all generated URLs')."</button> ";
 
-               print "<h3>" . __("Articles shared by URL") . "</h3>";
+               print "</p>";
 
-               print "<p>" . __("You can disable all articles shared by unique URLs here.") . "</p>";
+               print_warning(__("You can disable all articles shared by unique URLs here."));
+
+               print "<p>";
 
                print "<button dojoType=\"dijit.form.Button\" onclick=\"return clearArticleAccessKeys()\">".
                        __('Unshare all articles')."</button> ";
 
+               print "</p>";
+
                PluginHost::getInstance()->run_hooks(PluginHost::HOOK_PREFS_TAB_SECTION,
                        "hook_prefs_tab_section", "prefFeedsPublishedGenerated");
 
@@ -1549,6 +1548,7 @@ class Pref_Feeds extends Handler_Protected {
                $obj['updated'] = $updated;
                $obj['icon'] = getFeedIcon($feed_id);
                $obj['bare_id'] = $feed_id;
+               $obj['auxcounter'] = 0;
 
                return $obj;
        }
@@ -1573,7 +1573,7 @@ class Pref_Feeds extends Handler_Protected {
                        GROUP BY ttrss_feeds.title, ttrss_feeds.id, ttrss_feeds.site_url, ttrss_feeds.feed_url
                        ORDER BY last_article");
 
-               print "<h2" .__("These feeds have not been updated with new content for 3 months (oldest first):") . "</h2>";
+               print "<p" .__("These feeds have not been updated with new content for 3 months (oldest first):") . "</p>";
 
                print "<div dojoType=\"dijit.Toolbar\">";
                print "<div dojoType=\"dijit.form.DropDownButton\">".
@@ -1594,7 +1594,6 @@ class Pref_Feeds extends Handler_Protected {
 
                while ($line = $this->dbh->fetch_assoc($result)) {
 
-                       $class = ($lnum % 2) ? "even" : "odd";
                        $feed_id = $line["id"];
                        $this_row_id = "id=\"FUPDD-$feed_id\"";
 
@@ -1639,9 +1638,6 @@ class Pref_Feeds extends Handler_Protected {
        }
 
        function feedsWithErrors() {
-               print "<h2>" . __("These feeds have not been updated because of errors:") .
-                       "</h2>";
-
                $result = $this->dbh->query("SELECT id,title,feed_url,last_error,site_url
                FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ".$_SESSION["uid"]);
 
@@ -1664,7 +1660,6 @@ class Pref_Feeds extends Handler_Protected {
 
                while ($line = $this->dbh->fetch_assoc($result)) {
 
-                       $class = ($lnum % 2) ? "even" : "odd";
                        $feed_id = $line["id"];
                        $this_row_id = "id=\"FERDD-$feed_id\"";
 
index 4dbee5906fa9a2a049dead55071de5588cd560e6..bcc7b5aec424abbbf53a9447dc6fae386dbc3483 100644 (file)
@@ -83,8 +83,6 @@ class Pref_Filters extends Handler_Protected {
                        }
                }
 
-               $feed_title = getFeedTitle($feed);
-
                $qfh_ret = queryFeedHeadlines(-4, 30, "", false, false, false,
                        "date_entered DESC", 0, $_SESSION["uid"], $filter);
 
index 45715488ad12d0042c02ea539e3fca8f05730f6e..32071e3b31680ff00a89b215650babb7467d6cd8 100644 (file)
@@ -40,7 +40,7 @@ class Pref_Prefs extends Handler_Protected {
                        "FRESH_ARTICLE_MAX_AGE" => array(__("Maximum age of fresh articles (in hours)"), ""),
                        "HIDE_READ_FEEDS" => array(__("Hide feeds with no unread articles"), ""),
                        "HIDE_READ_SHOWS_SPECIAL" => array(__("Show special feeds when hiding read feeds"), ""),
-                       "LONG_DATE_FORMAT" => array(__("Long date format"), ""),
+                       "LONG_DATE_FORMAT" => array(__("Long date format"), __("The syntax used is identical to the PHP <a href='http://php.net/manual/function.date.php'>date()</a> function.")),
                        "ON_CATCHUP_SHOW_NEXT_FEED" => array(__("On catchup show next feed"), __("Automatically open next feed with unread articles after marking one as read")),
                        "PURGE_OLD_DAYS" => array(__("Purge articles after this number of days (0 - disables)"), ""),
                        "PURGE_UNREAD_ARTICLES" => array(__("Purge unread articles"), ""),
@@ -366,7 +366,7 @@ class Pref_Prefs extends Handler_Protected {
 
                                } else if (function_exists("imagecreatefromstring")) {
 
-                                       print "<p>".__("You will need a compatible Authenticator to use this. Changing your password would automatically disable OTP.") . "</p>";
+                                       print_warning(__("You will need a compatible Authenticator to use this. Changing your password would automatically disable OTP."));
 
                                        print "<p>".__("Scan the following code by the Authenticator application:")."</p>";
 
@@ -705,8 +705,6 @@ class Pref_Prefs extends Handler_Protected {
 
                print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Plugins')."\">";
 
-               print "<h2>".__("Plugins")."</h2>";
-
                print "<p>" . __("You will need to reload Tiny Tiny RSS for plugin changes to take effect.") . "</p>";
 
                print_notice(__("Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."));
@@ -747,7 +745,7 @@ class Pref_Prefs extends Handler_Protected {
                $system_enabled = array_map("trim", explode(",", PLUGINS));
                $user_enabled = array_map("trim", explode(",", get_pref("_ENABLED_PLUGINS")));
 
-               $tmppluginhost = new PluginHost(Db::get());
+               $tmppluginhost = new PluginHost();
                $tmppluginhost->load_all($tmppluginhost::KIND_ALL, $_SESSION["uid"]);
                $tmppluginhost->load_data(true);
 
@@ -964,7 +962,7 @@ class Pref_Prefs extends Handler_Protected {
 
                $value = str_replace("<br/>", "\n", $value);
 
-               print_notice(T_sprintf("You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline.", "tt-rss.css"));
+               print_notice(T_sprintf("You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline.", "css/tt-rss.css"));
 
                print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"rpc\">";
                print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"setpref\">";
@@ -1041,8 +1039,6 @@ class Pref_Prefs extends Handler_Protected {
 
                while ($line = $this->dbh->fetch_assoc($result)) {
 
-                       $class = ($lnum % 2) ? "even" : "odd";
-
                        $profile_id = $line["id"];
                        $this_row_id = "id=\"FCATR-$profile_id\"";
 
index 4b7d2d69a77afd61e990b52949883e806a1452cb..914491e4ab64e14d822d9339e4536f5e4d5417b6 100644 (file)
@@ -69,8 +69,6 @@ class Pref_Users extends Handler_Protected {
 
                        print "<ul class=\"userFeedList\">";
 
-                       $row_class = "odd";
-
                        while ($line = $this->dbh->fetch_assoc($result)) {
 
                                $icon_file = ICONS_URL."/".$line["id"].".ico";
@@ -81,9 +79,7 @@ class Pref_Users extends Handler_Protected {
                                        $feed_icon = "<img class=\"tinyFeedIcon\" src=\"images/blank_icon.gif\">";
                                }
 
-                               print "<li class=\"$row_class\">$feed_icon&nbsp;<a href=\"".$line["site_url"]."\">".$line["title"]."</a></li>";
-
-                               $row_class = $row_class == "even" ? "odd" : "even";
+                               print "<li>$feed_icon&nbsp;<a href=\"".$line["site_url"]."\">".$line["title"]."</a></li>";
 
                        }
 
@@ -252,9 +248,9 @@ class Pref_Users extends Handler_Protected {
                        }
                }
 
-               static function resetUserPassword($link, $uid, $show_password) {
+               static function resetUserPassword($uid, $show_password) {
 
-                       $result = db_query($link, "SELECT login,email
+                       $result = db_query("SELECT login,email
                                FROM ttrss_users WHERE id = '$uid'");
 
                        $login = db_fetch_result($result, 0, "login");
@@ -266,7 +262,7 @@ class Pref_Users extends Handler_Protected {
 
                        $pwd_hash = encrypt_password($tmp_user_pwd, $new_salt, true);
 
-                       db_query($link, "UPDATE ttrss_users SET pwd_hash = '$pwd_hash', salt = '$new_salt'
+                       db_query("UPDATE ttrss_users SET pwd_hash = '$pwd_hash', salt = '$new_salt'
                                WHERE id = '$uid'");
 
                        if ($show_password) {
@@ -359,6 +355,9 @@ class Pref_Users extends Handler_Protected {
                                <button dojoType=\"dijit.form.Button\" onclick=\"javascript:resetSelectedUserPass()\">".
                                __('Reset password')."</button dojoType=\"dijit.form.Button\">";
 
+                       PluginHost::getInstance()->run_hooks(PluginHost::HOOK_PREFS_TAB_SECTION,
+                               "hook_prefs_tab_section", "prefUsersToolbar");
+
                        print "</div>"; #toolbar
                        print "</div>"; #pane
                        print "<div id=\"pref-user-content\" dojoType=\"dijit.layout.ContentPane\" region=\"center\">";
@@ -408,8 +407,6 @@ class Pref_Users extends Handler_Protected {
 
                        while ($line = $this->dbh->fetch_assoc($result)) {
 
-                               $class = ($lnum % 2) ? "even" : "odd";
-
                                $uid = $line["id"];
 
                                print "<tr id=\"UMRR-$uid\">";
index 2b07bbf9117255942899f384515cfb85b3c1772e..46583feb58469d333e6b97489eeebe6920575d58 100644 (file)
@@ -291,7 +291,7 @@ class RPC extends Handler_Protected {
 
                $reply = array();
 
-               if ($seq) $reply['seq'] = $seq;
+               if (!empty($_REQUEST['seq'])) $reply['seq'] = (int) $_REQUEST['seq'];
 
                if ($last_article_id != getLastArticleId()) {
                        $reply['counters'] = getAllCounters();
@@ -464,7 +464,7 @@ class RPC extends Handler_Protected {
                        $id = 0;
                }
 
-               print_feed_cat_select("cat_id", $id);
+               print_feed_cat_select("cat_id", $id, '');
        }
 
        // Silent
diff --git a/classes/sanitizedummy.php b/classes/sanitizedummy.php
deleted file mode 100644 (file)
index 7182fb7..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-class SanitizeDummy extends SimplePie_Sanitize {
-       function sanitize($data, $type, $base = '') {
-               return $data;
-       }
-}
-?>
index fd7f969aa701cc73caeccb65c42711aef7096da2..1e8d077231f2f2e192fc95d637e1c6619d9e1269 100644 (file)
@@ -28,7 +28,7 @@ class ttrssMailer extends PHPMailer {
                        $this->Host = $pair[0];\r
                        $this->Port = $pair[1];\r
 \r
-                       if (!$Port) $Port = 25;\r
+                       if (!$this->Port) $this->Port = 25;\r
                } else {\r
                        $this->Host = '';\r
                        $this->Port = '';\r
index 58218bab1519dc80a2b966915db2475a68c99add..1eb4a13e40abf1caa9a5ee324fab4b3aaa3c8470 100644 (file)
        // *****************************
 
        define('PHP_EXECUTABLE', '/usr/bin/php');
-       // Path to PHP executable, used for various command-line tt-rss programs
+       // Path to PHP *COMMAND LINE* executable, used for various command-line tt-rss programs and
+       // update daemon. Do not try to use CGI binary here, it won't work. If you see HTTP headers
+       // being displayed while running tt-rss scripts, then most probably you are using the CGI
+       // binary. If you are unsure what to put in here, ask your hosting provider.
 
        define('LOCK_DIRECTORY', 'lock');
        // Directory for lockfiles, must be writable to the user you run
        define('SPHINX_SERVER', 'localhost:9312');
        // Hostname:port combination for the Sphinx server.
 
-       define('SPHINX_INDEX', 'ttrss');
+       define('SPHINX_INDEX', 'ttrss, delta');
        // Index name in Sphinx configuration. You can specify multiple indexes
        // as a comma-separated string.
+       // Example configuration files are available on tt-rss wiki.
 
        // ***********************************
        // *** Self-registrations by users ***
diff --git a/css/cdm.css b/css/cdm.css
new file mode 100644 (file)
index 0000000..900c837
--- /dev/null
@@ -0,0 +1,217 @@
+div.cdmHeader img, div.cdmHeader input, div.cdmFooter img {
+       vertical-align : middle;
+}
+
+div.cdmHeader {
+       display : table;
+}
+
+div.cdmHeader > * {
+       display : table-cell;
+       padding : 5px;
+}
+
+div.cdmHeader > div {
+       white-space : nowrap;
+}
+
+div.cdmHeader > span {
+       width : 100%;
+}
+
+div.cdmHeader span.updated {
+       color : #555;
+       font-weight : normal;
+       font-size : 11px;
+       white-space : nowrap;
+       vertical-align : middle;
+}
+
+div.cdmHeader input {
+       margin-right : 5px;
+}
+
+div.cdmHeader div.updPic {
+       width : 25px;
+       display : inline-block;
+       text-align : center;
+}
+
+div.cdmHeader div.updPic img {
+       vertical-align : middle;
+}
+
+div.cdmHeader img, div.cdmFooter img {
+       margin : 0px 2px 0px 2px;
+}
+
+div.cdmContentInner {
+       margin : 10px;
+       line-height : 20px;
+}
+
+div.cdmContentInner img {
+       border-width : 0px;
+       max-width : 98%;
+       height : auto;
+}
+
+div.cdmFooter {
+       padding : 5px;
+       font-weight : normal;
+       color : #555;
+       clear : both;
+}
+
+div.cdm.expanded {
+       margin-top : 4px;
+       margin-bottom : 4px;
+}
+
+div.cdm.expandable {
+       background-color : #f0f0f0;
+       border-width : 0px 0px 1px 0px;
+       border-color : #c0c0c0;
+       border-style : solid;
+}
+
+div.cdm.expandable > hr {
+       display : none;
+}
+
+div.cdm.expanded > hr {
+       margin-top : 0px;
+       margin-bottom : 0px;
+}
+
+div.cdm.expandable.Unread {
+       background : white;
+}
+
+div.cdm.expandable.Selected {
+       background : #f9fbff;
+}
+
+div.cdm.expandable.active {
+       box-shadow : inset 0px 0px 3px 0px rgba(0,0,0,0.1);
+       border-color : #88b0f0;
+       background : white ! important;
+}
+
+div.cdm.expandable div.cdmHeader a.title {
+       font-weight : bold;
+       color : #555;
+}
+
+div.cdm.expandable.Unread div.cdmHeader a.title {
+       color : black;
+}
+
+div.cdm.expandable.active div.cdmHeader a.title {
+       color : #4684ff;
+}
+
+div.cdm.expanded div.cdmHeader {
+       background : transparent ! important;
+}
+
+div.cdm.expanded div.cdmHeader a.title {
+       font-size : 14px;
+       color : #999;
+       font-weight : bold;
+}
+
+div.cdm.expanded.active {
+       background : white;
+}
+
+div.cdm.expanded.active div.cdmHeader a.title {
+       color : #4684ff;
+}
+
+div.cdm.expanded.Unread div.cdmHeader a.title {
+       color : black;
+}
+
+div.cdm.expanded div.cdmContent {
+       color : #555;
+}
+
+div.cdm.expanded.Unread div.cdmContent {
+       color : black;
+}
+
+div.cdm.active div.cdmContent {
+       color : black;
+}
+
+span.cdmExcerpt {
+       font-size : 11px;
+       color : #555;
+       font-weight : normal;
+       cursor : pointer;
+}
+
+div.cdmContent div.postEnclosures {
+       margin-top : 1em;
+       color : #555;
+}
+
+div.cdmFeedTitle {
+       border-color : #a0a0a0;
+       border-width : 0px 0px 1px 0px;
+       border-style : solid;
+       padding : 5px 3px 5px 5px;
+       background : url("images/toolbar.png") bottom left;
+       background-repeat : repeat-x;
+}
+
+div.cdmFeedTitle a.title {
+       color : #555;
+       font-style : italic;
+       font-weight : bold;
+}
+
+div.cdmFeedTitle a {
+       color : #555;
+}
+
+div.cdmFeedTitle a:hover {
+       color : #4684ff;
+}
+
+div.cdmHeader span.hlFeed {
+       float : right;
+       font-weight : normal;
+       font-style : italic;
+}
+
+div.cdmHeader div.hlFeed, div.cdmHeader div.hlFeed a {
+       vertical-align : middle;
+       color : #555;
+       font-weight : normal;
+       font-style : italic;
+       font-size : 11px;
+}
+
+div.cdm .hlFeed a {
+       border-radius : 4px;
+       display : inline-block;
+       padding : 1px 4px 1px 4px;
+}
+
+div.cdmContentInner p {
+       max-width : 650px;
+}
+
+div.cdmContentInner iframe {
+       min-width : 50%;
+}
+
+div.cdmHeader span.author {
+       color : #555;
+       font-size : 11px;
+       font-weight : normal;
+}
+
+
diff --git a/css/layout.css b/css/layout.css
new file mode 100644 (file)
index 0000000..3351331
--- /dev/null
@@ -0,0 +1,7 @@
+html, body#ttrssMain, body#ttrssPrefs, #main {
+       width: 100%; 
+       height: 100%;
+       border: 0; 
+       padding: 0; 
+       margin: 0;
+} 
diff --git a/css/prefs.css b/css/prefs.css
new file mode 100644 (file)
index 0000000..8720326
--- /dev/null
@@ -0,0 +1,125 @@
+#header a:hover {
+       color : black;
+}
+
+#header img {
+       vertical-align : middle;
+       cursor : pointer;
+}
+
+
+div#pref-tabs .dijitContentPane {
+       font-size : 13px;
+}
+
+div#pref-tabs {
+       margin : 0px 5px 0px 5px;
+}
+
+div#pref-tabs .dijitContentPane h3 {
+       font-size : 14px;
+       font-weight : bold;
+}
+
+#pref-filter-wrap, #pref-filter-header, #pref-filter-content, 
+#pref-label-wrap, #pref-label-header, #pref-label-content,
+#pref-user-wrap, #pref-user-header, #pref-user-content, 
+#pref-instance-wrap, #pref-instance-header, #pref-instance-content {
+       margin : 0px;
+       padding : 0px;
+       border-width : 0px;
+}
+
+#userConfigTab, #labelConfigTab, #filterConfigTab, #pref-feeds-feeds, #instanceConfigTab { 
+       padding : 0px;
+}
+
+/* preferences */
+
+table.prefPrefsList h3 {
+       margin-top : 0.5em;
+       margin-bottom : 0px;
+}
+
+tr.title td {
+       border-width : 0px 0px 1px 0px;
+       border-color : #ecf4ff;
+       border-style : solid;
+       color : #4684ff;
+}
+
+div.prefProfileHolder, div.prefFeedOPMLHolder, div.inactiveFeedHolder {
+       height : 300px;
+       overflow : auto;
+       border-width : 0px 1px 1px 1px;
+       border-color : #c0c0c0;
+       border-style : solid;
+       margin : 0px 0px 5px 0px;
+       background-color : #ecf4ff;
+}
+div.filterTestHolder, div.prefFeedOPMLHolder {
+       border-width : 1px;
+}
+
+ul.selfUpdateList {
+       height : 200px;
+       overflow : auto;
+       list-style-type : none;
+       border : 1px solid #c0c0c0;
+       background-color : #ecf4ff;
+       margin : 0px 0px 5px 0px;
+       padding : 5px;
+}
+
+div#feedlistLoading, div#filterlistLoading, div#labellistLoading {
+       text-align : center;
+       padding : 5px;
+       color : #555;
+}
+
+div#feedlistLoading img, div#filterlistLoading img, div#labellistLoading {
+       margin-right : 5px;
+}
+
+#errorButton {
+       color : red;
+}
+
+a.bookmarklet {
+       color : #4684ff;
+       border : 1px solid #ecf4ff;
+       padding : 2px;
+}
+
+table.prefPluginsList td label, table.prefUserList td {
+       cursor : pointer;
+}
+
+ul.userFeedList {
+       height : 300px;
+       overflow : auto;
+       list-style-type : none;
+       border : 1px solid #555;
+       background-color : white;
+       margin : 0px 0px 5px 0px;
+       padding : 0px;
+}
+
+table.prefErrorLog tr.errrow td {
+       font-size : 10px;
+}
+
+table.prefErrorLog tr.errrow td.errno {
+       font-style : italic;
+       font-weight : bold;
+       white-space : nowrap;
+}
+
+table.prefErrorLog td.filename, table.prefErrorLog td.login, table.prefErrorLog td.timestamp {
+       color : #555;
+}
+
+.dijitAccordionContainer-child {
+       box-shadow : inset 0px 0px 3px rgba(0,0,0,0.2);
+}
+
diff --git a/css/tt-rss.css b/css/tt-rss.css
new file mode 100644 (file)
index 0000000..f95d27d
--- /dev/null
@@ -0,0 +1,1111 @@
+body#ttrssMain, body#ttrssPrefs, body#ttrssLogin, body {
+       background : white;
+       color : black;
+       margin : 0px;
+       padding : 0px;
+       font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+       font-size: 14px;
+}
+
+body#ttrssPrefs {
+       background-color : #ecf4ff;
+}
+
+body#ttrssPrefs #footer, body#ttrssPrefs #header {
+       background-color : #ecf4ff; 
+       padding-left : 8px;
+       padding-right : 8px;
+}
+
+div.postReply {
+       padding : 0px;
+}
+
+div.postReply div.postHeader {
+       border-width : 0px 0px 1px 0px;
+       border-style : solid;
+       border-color : #c0c0c0;
+       background : #fafafa;
+       box-shadow : 0px 0px 3px 0px rgba(0,0,0,0.1);
+       padding : 5px;
+       color : #909090;
+}
+
+div.postReply div.postTitle {
+       overflow : hidden;
+       text-overflow: ellipsis;
+       white-space : nowrap;
+}
+
+div.postReply div.postDate {
+       padding-left : 10px;
+}
+
+div.postReply div.postContent {
+       padding : 10px;
+}
+
+div.postReply div.postContent img {
+       border-width : 0px;
+       max-width : 98%;
+       height: auto;
+}
+
+div.postReply div.postEnclosures {
+       margin-top : 1em;
+       color : #555;
+}
+
+div.postReply img.tagsPic {
+       width : 16px;
+       height : 16px;
+       margin-left : 4px;
+       vertical-align : middle;
+}
+
+div.articleNote {
+       background-color : #fff7d5;
+       padding : 5px;
+       border-radius : 4px;
+       margin : 5px;
+       border-style : solid;
+       border-color : #e7d796;
+       border-width : 1px;
+       box-shadow : 0px 0px 2px rgba(0,0,0,0.1);
+       background-color : #fff7d5;
+       color : #9a8c59;
+}
+
+div.articleNote div.noteEdit {
+       float : right;
+       cursor : pointer;
+}
+
+div.postReply span.author {
+       font-size : 12px;
+}
+
+h1 {
+       font-size : 18px;
+}
+
+h2 {
+       font-size : 16px;
+       font-weight : bold;
+       border-width : 0px 0px 1px 0px;
+       border-style : solid;
+       border-color : #ecf4ff;
+}
+
+h3 {
+       font-size : 12px;
+       font-weight : bold;
+       border-width : 0px 0px 1px 0px;
+       border-style : solid;
+       border-color : #ecf4ff;
+}
+
+hr {
+       border-width : 0px 0px 1px 0px;
+       border-style : solid;
+       border-color : #c0c0c0;
+       max-width : 90%;
+}
+
+a {
+       color : #4684ff;
+       text-decoration : none;
+}
+
+a:hover {
+       color : #88b0f0;
+}
+
+#piggie {
+       z-index : 999;
+       position : absolute;
+}
+
+#notify {
+       bottom : 10px;
+       right : 10px;
+       border-width : 1px;
+       border-style : solid;
+       position : absolute;    
+       font-size : 12px;
+       z-index : 99;
+       max-width : 200px;
+       min-width : 100px;
+       padding : 5px;
+       -width : 200px;
+       box-shadow : 0px 0px 2px rgba(0,0,0,0.2);
+}
+
+#notify img {
+       vertical-align : middle;
+       max-height : 14px;
+}
+
+#notify span.msg {
+       width : 100%;
+}
+
+#notify span.close {
+       text-align : right;
+}
+
+#notify span {
+       display : table-cell;
+       vertical-align : middle;
+       padding : 4px;
+}
+
+.notify {
+       border-color : #d7c47a;
+       background-color : #fff7d5;
+}
+
+.notify.progress {
+       border-color : #d7c47a;
+       background-color : #fff7d5;
+}
+
+.notify.info {
+       border-color : #88b0f0;
+       background-color : #ecf4ff;
+}
+
+.notify.error {
+       background-color : #ffcccc;
+       border-color : #ff0000;
+}
+
+.hl div.hlTitle a {
+       font-weight : bold;
+       color : #999;
+}
+
+.hl.Unread div.hlTitle a {
+       color : black;
+}
+
+.hl.active {
+       box-shadow : inset 0px 0px 3px 0px rgba(0,0,0,0.1);
+}
+
+.hl.active div.hlTitle a {
+       color : #4684ff;
+       text-shadow : 1px 1px 2px #fff;
+}
+
+.hl.Selected {
+       background : #f9fbff;
+}
+
+.hl.Grayed {
+       color : #909090;
+}
+
+/* #headlines-frame div.hl:nth-child(even) {
+       background : #fafafa;
+} */
+
+#headlines-frame.normal {
+
+}
+
+.hl {
+       border-width : 0px 0px 1px 0px;
+       border-style : solid;
+       border-color : #c0c0c0;
+}
+
+.hl.active {
+       background : #ecf4ff ! important;
+}
+
+div.filterTestHolder {
+       height : 300px;
+       overflow : auto;
+       border-color : #c0c0c0;
+       border-style : solid;
+       margin : 0px 0px 5px 0px;
+       background-color : #ecf4ff;
+       border-width : 1px 1px 1px 1px;
+}
+
+
+#content-insert blockquote, #headlines-frame blockquote, .dijitContentPane blockquote {
+       margin : 5px 0px 5px 0px;
+       color : #555;
+       padding-left : 10px;
+       border-width : 0px 0px 0px 4px;
+       border-color : #c0c0c0;
+       border-style : solid;
+}
+
+#content-insert code, #headlines-frame code, .dijitContentPane code {
+       color : #009900;
+       font-family : monospace;
+       font-size : 12px;
+}
+
+#content-insert pre, #headlines-frame pre, .dijitContentPane pre {
+       margin : 5px 0px 5px 0px;
+       padding : 10px;
+       color : #555;
+       font-family : monospace;
+       font-size : 12px;
+       border-width : 0px;
+       border-color : #c0c0c0;
+       border-style : solid;
+       background : #fafafa;
+       display : block;
+       max-width : 98%;
+       overflow : auto;
+}
+
+div.notice, div.warning, div.error {
+       padding : 4px 10px 4px 4px;
+       display : inline-block;
+       margin : 2px 0px 4px 0px;
+       font-size : 12px;
+       border-style : solid;
+       border-color : #ccc;
+       border-radius : 4px;
+       border-width : 1px;
+       box-shadow : 0px 0px 2px rgba(0,0,0,0.1);
+}
+
+div.notice div.inner, div.warning div.inner, div.error div.inner {
+       vertical-align : middle;
+}
+
+div.notice {
+       background : #ecf4ff;
+       border-color : #88b0f0;
+}
+
+div.warning {
+       background : #fff7d5;
+       border-color : #e7d796;;
+}
+
+div.error {
+       background : #ffcccc;
+       border-color : #ff0000;
+}
+
+div.warning img, div.notice img, div.error img {
+       margin-right : 4px;
+       vertical-align : middle;
+}
+
+div.warning span, div.notice span, div.error span {
+       display : table-cell;
+       vertical-align : middle;
+
+}
+
+ul.nomarks {
+       list-style-type : none;
+       margin : 0px;
+       padding : 10px; 
+}
+
+div.prefHelp {
+       color : #555;
+       padding : 5px;
+}
+
+span.feed_error {
+       color : red;
+}
+
+.insensitive {
+       color : #555;
+}
+
+div#headlines-toolbar {
+       border-width : 0px 0px 1px 0px;
+       background-color : #fcfcfc;
+       border-color : #c0c0c0;
+       font-size : 12px;
+       font-family : "Segoe UI", Tahoma, sans-serif;
+       color : #555;
+       padding : 0px;
+       margin : 0px;
+       overflow : hidden;
+       height : 25px;
+       line-height : 25px;
+       padding-left : 4px;
+}
+
+div#headlines-toolbar .dijitSelect {
+       font-size : 11px;
+       position : relative;
+       top : -2px;
+}
+
+div#headlines-toolbar span.r {
+       float: right;
+   position: relative;
+       padding : 0 4px 0px 4px;
+       text-align : right;
+}      
+
+div#headlines-toolbar span.r span.error {
+       color : red;
+} 
+
+div#headlines-toolbar span.r a {
+       color : #555;
+}
+
+span.contentPreview {
+       color : #999;
+       font-weight : normal;
+       text-shadow : 1px 1px 2px #fff;
+}
+
+span.hlLabelRef {
+       background-color : #fff7d5;     
+       font-size : 8px;
+       color : #063064;
+       font-weight : normal;
+       margin-left : 2px;
+       padding : 1px 4px 1px 4px;
+       display : inline-block;
+       vertical-align : middle;
+       white-space: nowrap;
+       border-radius : 4px;
+}
+
+div.postHeader div.postDate {
+       text-align : right;
+       color : #555;
+       float : right;
+}
+
+div.postHeader div {
+       padding-bottom : 3px;
+}
+
+#feedUpdateErrors {
+       display : none;
+}
+
+#allEntryTags {
+       border-width : 0px 0px 1px 0px;
+       border-style : solid;
+       border-color : #c0c0c0;
+       padding-bottom : 5px;
+       display : none;
+}
+
+a.hlFeed {
+       display : block;
+       white-space : nowrap;
+       font-size : 9px;
+       font-style : italic;
+       font-weight : normal;
+       border-radius : 4px;
+       display : inline-block;
+       padding : 1px 2px 1px 2px;
+       margin-bottom : 2px;
+       margin-top : 2px;
+       color : #555;
+}
+
+a.hlFeed:hover {
+       color : #4684ff;
+}
+
+img.markedPic, img.pubPic {
+       cursor : pointer;
+       vertical-align : middle;
+}
+
+div.tagCloudContainer {
+       border : 1px solid #c0c0c0;
+       background-color : #ecf4ff;
+       margin : 5px 0px 5px 0px;
+       padding : 5px;
+       text-align : center;
+}
+
+div.errorExplained {
+       border : 1px solid #c0c0c0;
+       background-color : #ecf4ff;
+       margin : 5px 0px 5px 0px;
+       padding : 5px;
+}
+
+ul.feedErrorsList {
+       max-height : 300px;
+       overflow : auto;
+       list-style-type : none;
+       border : 1px solid #c0c0c0;
+       background-color : #ecf4ff;
+       margin : 0px 0px 5px 0px;
+       padding : 5px;
+}
+
+ul.feedErrorsList em {
+       color : #555;
+}
+
+ul.browseFeedList {
+       height : 300px;
+       overflow : auto;
+       border-width : 0px 1px 1px 1px;
+       border-color : #c0c0c0;
+       border-style : solid;
+       margin : 0px 0px 5px 0px;
+       background-color : white;
+       list-style-type : none;
+       padding : 0px;
+
+}
+
+ul.browseFeedList li {
+       margin : 0px;
+       padding : 2px 4px 2px 4px;
+}
+
+span.subscribers {
+       color : #808080;
+}
+
+div.subscribers {
+       color : #808080;
+       font-size : 12px;
+       float : right;
+}
+
+div.browserDetails {
+       margin : 5px 5px 5px 5px;
+       padding : 5px;
+}
+
+ul.compact {
+       list-style-type : none;
+       margin : 0px;
+       padding : 0px;
+}
+
+ul.compact li {
+       margin : 0px;
+       padding : 0px;
+}
+
+.noborder {
+       border-width : 0px;
+}
+
+#overlay {
+       background : white;
+       left : 0;
+       top : 0;
+       height : 100%;
+       width : 100%;
+       z-index : 100;
+       position : absolute;
+}
+
+#overlay_inner {
+       font-weight : bold;
+       margin : 1em;
+}
+
+form {
+       margin : 0px;
+       padding : 0px;
+}
+
+#main_toolbar_form {
+       margin : 0px;
+       padding : 0px;
+       display : table-cell;
+       white-space : nowrap;
+       width : 100%;
+}
+
+div.loadingPrompt {
+       padding : 1em;
+       text-align : center;
+       font-weight : bold;
+}
+
+div.whiteBox {
+       margin-left : 1px;
+       text-align : center;
+       padding : 1em;
+}
+
+/* html, body#ttrssMain, #main {
+       width: 100%; 
+       height: 100%;
+       padding: 0; 
+       margin: 0;
+} */
+
+#toolbar div.actionChooser {
+       display : table-cell;
+       text-align : right;
+       padding-right : 3px;
+}
+
+div.autocomplete {
+       position : absolute;
+       width : 250px;
+       background-color : white;
+       border :1px solid #778899;
+       margin : 0px;
+       padding : 0px;
+}
+
+div.autocomplete ul {
+       list-style-type : none;
+       margin : 0px;
+       padding : 0px;
+}
+
+div.autocomplete ul li.selected { 
+       background-color : #fff7d5;
+}
+
+div.autocomplete ul li {
+       list-style-type : none;
+       display : block;
+       margin : 0;
+       padding : 2px;
+       height : 32px;
+       cursor : pointer;
+}
+
+.hlContentH a, .hlContentH span {
+       color : #00cc00;
+}
+
+.hlContentL a, .hlContentL span {
+       color : #909090;
+       text-decoration : line-through;
+}
+
+span.titleWrapH, span.titleWrapH a {
+       color : #00cc00;
+}
+
+span.titleWrapL, span.titleWrapL a {
+       color : #909090;
+       text-decoration : line-through;
+}
+
+img.hlScorePic {
+       vertical-align : middle;
+       width : 16px;
+       height : 16px;
+}
+
+div.dlgSec {
+       font-size : 12px;
+       color : #555;
+       font-weight : bold;
+       clear : both;
+       height : 20px;
+}
+
+div.dlgSecCont {
+       position : relative;
+       left : 150px;
+       top : -20px;
+       float : left;
+       font-size : 12px;
+       font-weight : normal;
+}
+
+div.dlgSecCont hr {
+       height : 0px;
+       line-height : 0px;
+       border : 0px solid transparent;
+       margin : 2px;
+}
+
+div.dlgSecCont > * {
+       position : relative;
+       top : -2px;
+}
+
+div.dlgButtons {
+       text-align : right;
+       clear : both;
+}
+
+span.labelColorIndicator {
+       height : 14px;
+       width : 14px;
+       line-height : 14px;
+       font-size : 9px;
+       display : inline-block;
+       border : 1px solid black;
+       background-color : #fff7d5;     
+       color : #063064;
+       text-align : center;
+       margin-right : 2px;
+}
+
+span.labelColorIndicator2 {
+       height : 14px;
+       width : 14px;
+       font-size : 9px;
+       display : inline-block;
+       border : 1px solid black;
+       background-color : #fff7d5;     
+       color : #063064;
+       text-align : center;
+       margin-right : 2px;
+       vertical-align : bottom;
+}
+
+div#cmdline {
+       position : absolute;
+       left : 5px;
+       bottom : 5px;
+       font-size : 11px;
+       color : #555;
+       font-weight : bold;
+       background-color : white;
+       border : 1px solid #88b0f0;
+       padding : 3px 5px 3px 5px;
+       z-index : 5;
+}
+
+#feed_browser_spinner {
+       vertical-align : middle;
+       height : 18px;
+       width : 18px;
+}
+
+div.hlTitle {
+       display : table-cell;
+       cursor : pointer;
+       width : 100%;
+       vertical-align : middle;
+       padding-top : 4px;
+       padding-bottom : 4px;
+}
+
+div.hlLeft {
+       display : table-cell;
+       vertical-align : middle;
+       white-space: nowrap;
+}
+
+div.hlRight {
+       display : table-cell;
+       white-space: nowrap;
+       text-align : right;
+       vertical-align : middle;
+}
+
+div.hlRight img {
+       max-width : 16px;
+       max-height : 16px;
+}
+
+span.hlUpdated {
+       color : #555;
+       min-width : 100px;
+       display : table-cell;
+       width : 100%;
+       vertical-align : middle;
+       text-align : right;
+       font-size : 10px;
+}
+
+div.hlLeft {
+       padding-left : 8px;
+}
+
+div.hlLeft input {
+       margin-left : 4px;
+       margin-right : 4px;
+}
+
+div.hlLeft img, div.hlRight img {
+       margin : 0px 4px 0px 4px;
+}
+
+div.hlLeft img {
+       width : 16px;
+       height : 16px;
+}
+
+div.fatalError {
+       margin-bottom : 10px;
+}
+
+div.fatalError button {
+       margin-top : 5px;
+}
+
+div.fatalError textarea {
+       width : 100%;
+       height : 100px;
+}
+
+#ttrssMain #main {
+       border-width : 0px;
+       margin : 0px;
+       padding : 0px;
+}
+
+#header-wrap {
+       border-width : 0px;
+       margin : 0px;
+       padding : 0px;
+}
+
+#content-wrap {
+       padding : 0px;
+       border-width : 0px 0px 0px 1px;
+       border-style : solid;
+       border-color : #c0c0c0;
+       margin : 0px;
+}
+
+#feeds-holder {
+       padding : 0px;
+       border-color : #c0c0c0;
+       border-left-width : 0px;
+       border-bottom-width : 0px;
+       border-top-width : 0px;
+       overflow : hidden;
+       box-shadow : inset 0px 0px 3px rgba(0,0,0,0.1);
+       background : #f9fbff;
+}
+
+#headlines-wrap-inner {
+       padding : 0px;
+       margin : 0px;
+       border-width : 0px;
+}
+
+#headlines-frame {
+       padding : 0px;
+       border-color : #c0c0c0;
+       border-style : solid;
+       border-width : 0px;
+       margin-top : 0px;
+       box-shadow : inset 0px 0px 3px rgba(0,0,0,0.1);
+}
+
+#headlines-toolbar_splitter, #toolbar_splitter {
+       display : none;
+}
+
+#toolbar {
+       padding : 0px;
+       margin : 0px;
+       border-width : 0px;
+       white-space: nowrap;
+       font-size : 12px;
+       box-shadow : 0px 0px 2px rgba(0,0,0,0.1);
+}
+
+#header {
+       border-width : 0px;
+       text-align : right;
+       color : #555;
+       padding : 5px 5px 0px 0px;
+       margin : 0px;
+       position : absolute;
+       right : 0px;
+       top : 0px;
+       z-index : 5;
+}
+
+#footer {
+       text-align : center;
+       color : #555;
+       padding : 4px 4px 8px 4px;
+       border-width : 0px;
+}
+
+#content-insert {
+       padding : 0px;
+       border-color : #c0c0c0;
+       border-bottom-width : 0px;
+       border-right-width : 0px;
+       border-left-width : 0px;
+       line-height: 20px;
+       overflow : auto;
+}
+
+.dijitTreeLabel.Unread {
+       font-weight : bold;
+}
+
+.dijitTreeLabel {
+       outline : 0;
+}
+
+.feedParam {
+       color : #555;
+       float : right;
+       margin-right : 1em;
+}
+
+.labelParam {
+       float : right;
+       margin-right : 1em;
+}
+
+.dijitTreeLabel.Disabled, .labelParam.Disabled {
+       color : #555;
+}
+
+.dijitTreeRow.Error {
+       color : red;
+}
+
+.dijitTreeRow.Hidden {
+       display : none;
+}
+
+img.feedIcon, img.tinyFeedIcon {
+       width : 16px;
+       height : 16px;
+       vertical-align : middle;
+       display : inline-block;
+}
+
+.dijitToolbar {
+       text-shadow : 1px 1px 2px #fff;
+}
+
+.dijitAccordionTitleFocus {
+       text-shadow : 1px 1px 2px #fff;
+}
+
+.dijitDialog .dijitToolbar {
+       border : 1px solid #c0c0c0;
+}
+
+.dijitDialog h2 {
+       margin-top : 0px;
+       margin-bottom : 4px;
+       border-width : 0px;
+}
+
+.player {
+       display : inline-block;
+       color : #555;
+       font-size : 11px;
+       font-family : sans-serif;
+       border : 1px solid #555;
+       padding : 0px 4px 0px 4px;
+       margin : 0px 2px 0px 2px;
+       width : 50px;
+       text-align : center;
+       background : white;
+}
+
+.player.playing {
+       color : #00c000;
+       border-color : #00c000;
+}
+
+.player:hover {
+       background : #f0f0f0;
+       cursor : pointer;
+}
+
+#headlines-spacer {
+       height : 100%;
+       margin-left : 1px;
+       text-align : center;
+       padding : 1em;
+       color : #555;
+}
+
+ul#filterDlg_Matches, ul#filterDlg_Actions {
+       max-height : 100px;
+       overflow : auto;
+       list-style-type : none;
+       border-style : solid;
+       border-color : #c0c0c0;
+       border-width : 0px 1px 1px 1px;
+       background-color : #ecf4ff;
+       margin : 0px 0px 5px 0px;
+       padding : 0px;
+}
+
+ul#filterDlg_Matches li, ul#filterDlg_Actions li {
+       cursor : pointer;
+       padding : 0px 0px 0px 5px;
+}
+
+ul#filterDlg_Matches li div.dijitCheckBox, ul#filterDlg_Actions li div.dijitCheckBox {
+       margin-right : 5px;
+}
+
+ul.helpKbList {
+       max-height : 300px;
+       overflow : auto;
+       list-style-type : none;
+       border : 1px solid #c0c0c0;
+       background-color : #ecf4ff;
+       margin : 0px 0px 5px 0px;
+       padding : 5px;
+}
+
+ul.helpKbList span.hksequence {
+       width : 6em;
+       margin-left : 20px;
+       color : #88b0f0;
+       font-weight : bold;
+       display : inline-block;
+}
+
+ul.helpKbList h2 {
+       margin-top : 0px;
+}
+
+.dijitTreeNode .loadingNode {
+       margin-left : 3px;
+       height : 9px;
+}
+
+span.collapseBtn {
+       cursor : pointer;
+}
+
+div.postContent p {
+       max-width : 650px;
+}
+
+div.postContent iframe {
+       min-width : 50%;
+}
+
+div.postHeader span.author {
+       color : #555;
+       font-size : 11px;
+       font-weight : normal;
+}
+
+body#ttrssZoom {
+       margin-left : auto;
+       margin-right : auto;
+       padding : 20px;
+       max-width : 800px;
+       background : #f9fbff;
+}
+
+body#ttrssZoom div.postContent p {
+       max-width : 650px;
+}
+
+body#ttrssZoom div.postHeader {
+       margin : 10px;
+       border : 1px solid #ccc;
+       box-shadow : none;
+       border-radius : 4px;
+}
+
+body#ttrssZoom div.postReply {
+       border : 1px solid #ccc;
+       border-radius : 4px;
+       box-shadow : inset 0px 0px 3px rgba(0,0,0,0.1);
+       background : white;
+}
+
+body#ttrssZoom div.postContent {
+
+}
+
+body#ttrssZoom div.footer {
+       margin-top : 1em;
+       text-align : center;
+}
+
+body#ttrssZoom div.postContent img {
+       max-width : 650px;
+       height : auto;
+} 
+
+select.attachments {
+       display : block;
+       margin-top : 10px;
+       max-width : 120px;
+}
+
+div.hl.active {
+       border-color : #88b0f0;
+}
+
+#selected_prompt {
+       margin-right : 25px;
+}
+
+#feedTree .dijitTreeRow {
+       padding : 2px 0px 2px;
+       border-width : 1px;
+       border-color : transparent;
+       color : #333;
+}
+
+#feedTree .dijitTreeNode {
+       padding : 0px;
+       border-width : 0px;
+}
+
+#feedTree { 
+       height : 100%;
+       overflow-x : hidden;
+       font-family : "Segoe UI", Tahoma, sans-serif;
+}
+
+#feedTree .counterNode.aux {
+       background : #f0f0f0;
+       color : #999;
+       border-color : #f0f0f0;
+}
+
+#feedTree .counterNode {
+       font-weight : bold;
+       display : inline-block;
+       font-size : 9px;
+       text-align : center;
+       border : 1px solid #88b0f0;
+       color : white;
+       background : #88b0f0;
+       border-radius : 4px;
+       vertical-align : middle;
+       float : right;
+       margin-right : 5px;
+       position : relative;
+       top : 2px;
+       min-width : 23px;
+}
+
+#feedTree .dijitTreeRow {
+       max-width: 100%;
+       overflow: hidden;
+       text-overflow: ellipsis;
+}
+
+body#ttrssPrefs hr {
+       border-color : #ecf4ff;
+       max-width : 100%;
+}
+
+.dijitMenuItemLabel {
+       font-size : 13px;
+}
+
+.dijitTreeRowSelected .dijitTreeLabel {
+       text-shadow : 1px 1px 2px #fff;
+}
diff --git a/css/utility.css b/css/utility.css
new file mode 100644 (file)
index 0000000..ac0180e
--- /dev/null
@@ -0,0 +1,265 @@
+body {
+       background : #f9fbff;
+       color : black;
+       padding : 0px;
+       font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+       font-size: 14px;
+       margin-left : auto;
+       margin-right : auto;
+       max-width : 800px;
+}
+
+form {
+       margin : 10px 0px 0px 0px;
+       padding : 0px;
+}
+
+div.content {
+       background : white;
+       border : 1px solid #ccc;
+       padding : 10px;
+       border-radius : 4px;
+       box-shadow : inset 0 0 3px rgba(0,0,0,0.1);
+}
+
+p.warning {
+       color : red;
+}
+
+p.query, code {
+       color : green;
+}
+
+p.insensitive {
+       color : gray;
+}
+
+div.insensitive-small {
+       color : gray;
+       font-size : 10px;
+}
+
+.floatingLogo {
+       float : right;
+       position : relative;
+       top : -10px;
+}
+
+a {
+       color : #4684ff;
+       text-decoration : none;
+}
+
+a:hover {
+       color : black;
+}
+
+div.notice, div.warning, div.error {
+       padding : 4px 10px 4px 4px;
+       display : inline-block;
+       margin : 2px 0px 4px 0px;
+       font-size : 12px;
+       border-style : solid;
+       border-color : #ccc;
+       border-radius : 4px;
+       border-width : 1px;
+       box-shadow : 0px 0px 2px rgba(0,0,0,0.1);
+}
+
+div.notice div.inner, div.warning div.inner, div.error div.inner {
+       vertical-align : middle;
+}
+
+div.notice {
+       background : #ecf4ff;
+       border-color : #88b0f0;
+}
+
+div.warning {
+       border-color : #EFDC88;
+       background : #fff7d5;
+}
+
+div.error {
+       background : #ffcccc;
+       border-color : #ff0000;
+}
+
+div.warning img, div.notice img, div.error img {
+       margin-right : 4px;
+       vertical-align : middle;
+}
+
+div.warning span, div.notice span, div.error span {
+       display : table-cell;
+       vertical-align : middle;
+
+}
+
+h1 {
+       color : #88b0f0;
+       font-size : 32px;
+       margin : 20px 0px 5px 0px;
+       text-shadow : 0 0 6px #fff;
+}
+
+h2 {
+       color : #88b0f0;
+       font-size : 14pt;
+       border-width : 0px 0px 1px 0px;
+       border-color : #f0f0f0;
+       border-style : solid; 
+}
+
+div.content > h2 {
+       margin-top : 0px;
+}
+
+div.rss h1 {
+       border-width : 0px 0px 1px 0px;
+       border-color : gray;
+       border-style : dotted;
+       color : gray;
+       margin-right : 90px;
+}
+
+div.rss h2 {
+       font-size : 12pt;
+}
+
+div.rss a.extlink {
+       color : gray;
+       border-width : 0px 0px 1px 0px;
+       border-color : #778899;
+       border-style : dotted;
+       font-size : 9pt;
+}
+
+div.rss img {
+       max-width : 775px;
+}
+
+div.rss p.description {
+       color : gray;
+       font-size : 9pt;
+}
+
+div.rss div.content {
+       margin-top : 0.5em;
+}
+
+div.rss img.feedicon {
+       float : right;
+}
+
+div.rss hr {
+       border-width : 0px 0px 1px 0px;
+       border-style : dashed;
+       border-color : #e0e0e0;
+}
+
+body#sharepopup {
+       background-color : white;
+       background-image : url("images/toolbar.png");
+       background-repeat : repeat-x;
+       background-position : bottom;
+       margin : 10px;
+       padding : 0px;
+}
+
+body#sharepopup h1 {
+       font-size : 14px;
+       margin : 0px;
+       color : #88b0f0;
+}
+
+body#sharepopup table {
+       background : white;
+       border : 1px solid #88b0f0;
+       padding : 5px;
+}
+
+body#sharepopup form { 
+       height : 100%;
+}
+
+body#sharepopup input { 
+       width : 100%;
+}
+
+div.autocomplete {
+       position : absolute;
+       width : 250px;
+       background-color : white;
+       border :1px solid #778899;
+       margin : 0px;
+       padding : 0px;
+       z-index : 4;
+}
+
+div.autocomplete ul {
+       list-style-type : none;
+       margin : 0px;
+       padding : 0px;
+       font-size : 10px;
+}
+
+div.autocomplete ul li.selected { 
+       background-color : #fff7d5;
+}
+
+div.autocomplete ul li {
+       list-style-type : none;
+       display : block;
+       margin : 0;
+       padding : 2px;
+       height : 32px;
+       cursor : pointer;
+}
+
+fieldset { 
+       border-width : 0px;
+       padding : 0px 0px 5px 0px;
+       margin : 0px;
+}
+
+fieldset input {
+       font-family : sans-serif;
+       font-size : medium;
+       border-spacing : 2px;
+       border : 1px solid #b5bcc7;
+       padding : 2px;
+}
+
+fieldset label {
+       width : 120px;
+       margin-right : 20px;
+       display : inline-block;
+       text-align : right;
+       color : gray;
+}
+
+body.otp {
+       margin : 1em;
+       padding : 0px;
+}
+
+form.otpform {
+       margin : 0px;
+       padding : 0px;
+}
+
+form.otpform label {
+       margin : 0px;
+       padding : 0px;
+}
+
+body.otp div.content {
+       display : inline-block;
+       width : auto;
+}
+
+span.hint {
+       font-size : 10px;
+       color : gray;
+}
index 7cf1a6af0a71241e6e66cca2de2d82da09a5621d..91eaa2dc2c2dd4a1e69ce4097d94234f02a2b1ba 100644 (file)
@@ -1,6 +1,8 @@
 <?php
 
-require_once "lib/floIcon.php";
+if (file_exists("lib/floIcon.php")) {
+       require_once "lib/floIcon.php";
+}
 
 function _resolve_htmlcolor($color) {
        $htmlcolors = array ("aliceblue" => "#f0f8ff",
@@ -237,16 +239,16 @@ function rgb2hsl($arr) {
    } else {
       $s = $del_Max / $var_Max;
 
-      $del_R = ((($max - $var_R ) / 6 ) + ($del_Max / 2 ) ) / $del_Max;
-      $del_G = ((($max - $var_G ) / 6 ) + ($del_Max / 2 ) ) / $del_Max;
-      $del_B = ((($max - $var_B ) / 6 ) + ($del_Max / 2 ) ) / $del_Max;
+      $del_R = ((($var_Max - $var_R ) / 6 ) + ($del_Max / 2 ) ) / $del_Max;
+      $del_G = ((($var_Max - $var_G ) / 6 ) + ($del_Max / 2 ) ) / $del_Max;
+      $del_B = ((($var_Max - $var_B ) / 6 ) + ($del_Max / 2 ) ) / $del_Max;
 
       if      ($var_R == $var_Max) $h = $del_B - $del_G;
       else if ($var_G == $var_Max) $h = (1 / 3 ) + $del_R - $del_B;
       else if ($var_B == $var_Max) $h = (2 / 3 ) + $del_G - $del_R;
 
-      if ($H < 0) $h++;
-      if ($H > 1) $h--;
+      if ($h < 0) $h++;
+      if ($h > 1) $h--;
    }
 
    return array($h, $s, $v);
@@ -286,7 +288,8 @@ function hsl2rgb($arr) {
 
                $size = @getimagesize($imageFile);
 
-               if (!defined('_DISABLE_FLOICON') && strtolower($size['mime']) == 'image/vnd.microsoft.icon') {
+               if (strtolower($size['mime']) == 'image/vnd.microsoft.icon' && class_exists("floIcon")) {
+
                        $ico = new floIcon();
                        @$ico->readICO($imageFile);
 
index 965fd1a7935f29d371bcdb7af824338ab211cde9..4427936e58cab7893f1233db08102bba1c1705d5 100644 (file)
@@ -26,7 +26,7 @@
 
                while ($line = db_fetch_assoc($result)) {
 
-                       if (get_pref('DIGEST_ENABLE', $line['id'], false)) {
+                       if (@get_pref('DIGEST_ENABLE', $line['id'], false)) {
                                $preferred_ts = strtotime(get_pref('DIGEST_PREFERRED_TIME', $line['id'], '00:00'));
 
                                // try to send digests within 2 hours of preferred time
index 9acef23575c624acbc21f06ef62fcc607db42582..52431c2de41004ade39892b2289a9b28bd3e6861 100644 (file)
@@ -6,7 +6,8 @@ function ttrss_error_handler($errno, $errstr, $file, $line, $context) {
 
        $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1);
 
-       return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
+       if (class_exists("Logger"))
+               return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
 }
 
 function ttrss_fatal_handler() {
@@ -26,7 +27,8 @@ function ttrss_fatal_handler() {
 
                $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1);
 
-               return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
+               if (class_exists("Logger"))
+                       return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
        }
 
        return false;
index c39b4938c4d1d1cc42e7b3ca144001bf77e54f80..7db040d04e57c81f2807aca5776c5fba06bba8b8 100644 (file)
 
                $data = array_merge($data, getVirtCounters());
                $data = array_merge($data, getLabelCounters());
-               $data = array_merge($data, getFeedCounters($active_feed));
+               $data = array_merge($data, getFeedCounters());
                $data = array_merge($data, getCategoryCounters());
 
                return $data;
 
                        return $unread;
                } else if ($cat == -1) {
-                       return getFeedUnread(-1) + getFeedUnread($link, -2) + getFeedUnread($link, -3) + getFeedUnread($link, 0);
+                       return getFeedUnread(-1) + getFeedUnread(-2) + getFeedUnread(-3) + getFeedUnread(0);
                } else if ($cat == -2) {
 
                        $result = db_query("
 
                        $count = getFeedUnread($i);
 
+                       if ($i == 0 || $i == -1 || $i == -2)
+                               $auxctr = getFeedArticles($i, false);
+                       else
+                               $auxctr = 0;
+
                        $cv = array("id" => $i,
-                               "counter" => (int) $count);
+                               "counter" => (int) $count,
+                               "auxcounter" => $auxctr);
 
 //                     if (get_pref('EXTENDED_FEEDLIST'))
 //                             $cv["xmsg"] = getFeedArticles($i)." ".__("total");
 
                $owner_uid = $_SESSION["uid"];
 
-               $result = db_query("SELECT id,caption,COUNT(unread) AS unread
+               $result = db_query("SELECT id,caption,COUNT(u1.unread) AS unread,COUNT(u2.unread) AS total
                        FROM ttrss_labels2 LEFT JOIN ttrss_user_labels2 ON
                                (ttrss_labels2.id = label_id)
-                               LEFT JOIN ttrss_user_entries ON (ref_id = article_id AND unread = true
-                                       AND ttrss_user_entries.owner_uid = $owner_uid)
+                               LEFT JOIN ttrss_user_entries AS u1 ON (u1.ref_id = article_id AND u1.unread = true
+                                       AND u1.owner_uid = $owner_uid)
+                               LEFT JOIN ttrss_user_entries AS u2 ON (u2.ref_id = article_id AND u2.unread = false
+                                       AND u2.owner_uid = $owner_uid)
                                WHERE ttrss_labels2.owner_uid = $owner_uid GROUP BY ttrss_labels2.id,
                                        ttrss_labels2.caption");
 
 
                        $id = label_to_feed_id($line["id"]);
 
-                       $label_name = $line["caption"];
-                       $count = $line["unread"];
-
                        $cv = array("id" => $id,
-                               "counter" => (int) $count);
+                               "counter" => (int) $line["unread"],
+                               "auxcounter" => (int) $line["total"]);
 
                        if ($descriptions)
-                               $cv["description"] = $label_name;
-
-//                     if (get_pref('EXTENDED_FEEDLIST'))
-//                             $cv["xmsg"] = getFeedArticles($id)." ".__("total");
+                               $cv["description"] = $line["caption"];
 
                        array_push($ret_arr, $cv);
                }
                        }
 
                        if (!$root_id) {
-                               $is_selected = ($default_id == "CAT:0") ? "selected=\"1\"" : "";
+                               $default_is_cat = ($default_id == "CAT:0");
+                               $is_selected = $default_is_cat ? "selected=\"1\"" : "";
 
                                printf("<option $is_selected value='CAT:0'>%s</option>",
                                        __("Uncategorized"));
                                $filter_query_part = filter_to_sql($filter, $owner_uid);
 
                                // Try to check if SQL regexp implementation chokes on a valid regexp
+
+
                                $result = db_query("SELECT true AS true_val FROM ttrss_entries,
-                                       ttrss_user_entries, ttrss_feeds, ttrss_feed_categories
+                                       ttrss_user_entries, ttrss_feeds
                                        WHERE $filter_query_part LIMIT 1", false);
 
                                if ($result) {
                        if ($version_data) {
                                $version_data = json_decode($version_data, true);
                                if ($version_data && $version_data['version']) {
-
-                                       if (version_compare(VERSION, $version_data['version']) == -1) {
+                                       if (version_compare(VERSION_STATIC, $version_data['version']) == -1) {
                                                return $version_data;
                                        }
                                }
                        ttrss_tags WHERE post_int_id = (SELECT int_id FROM ttrss_user_entries WHERE
                        ref_id = '$a_id' AND owner_uid = '$owner_uid' LIMIT 1) ORDER BY tag_name";
 
-               $obj_id = md5("TAGS:$owner_uid:$id");
                $tags = array();
 
                /* check cache first */
                                $rv['content'] .= "<html><head>
                                                <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
                                                <title>Tiny Tiny RSS - ".$line["title"]."</title>
-                                               <link rel=\"stylesheet\" type=\"text/css\" href=\"tt-rss.css\">
+                                               <link rel=\"stylesheet\" type=\"text/css\" href=\"css/tt-rss.css\">
                                        </head><body id=\"ttrssZoom\">";
                        }
 
 
        function print_checkpoint($n, $s) {
                $ts = microtime(true);
-               echo sprintf("<!-- CP[$n] %.4f seconds -->", $ts - $s);
+               echo sprintf("<!-- CP[$n] %.4f seconds -->\n", $ts - $s);
                return $ts;
        }
 
        }
 
        function format_tags_string($tags, $id) {
+               if (!is_array($tags) || count($tags) == 0) {
+                       return __("no tags");
+               } else {
+                       $maxtags = min(5, count($tags));
 
-               $tags_str = "";
-               $tags_nolinks_str = "";
-
-               $num_tags = 0;
-
-               $tag_limit = 6;
-
-               $formatted_tags = array();
-
-               foreach ($tags as $tag) {
-                       $num_tags++;
-                       $tag_escaped = str_replace("'", "\\'", $tag);
-
-                       if (mb_strlen($tag) > 30) {
-                               $tag = truncate_string($tag, 30);
-                       }
-
-                       $tag_str = "<a href=\"javascript:viewfeed('$tag_escaped')\">$tag</a>";
-
-                       array_push($formatted_tags, $tag_str);
-
-                       $tmp_tags_str = implode(", ", $formatted_tags);
-
-                       if ($num_tags == $tag_limit || mb_strlen($tmp_tags_str) > 150) {
-                               break;
+                       for ($i = 0; $i < $maxtags; $i++) {
+                               $tags_str .= "<a class=\"tag\" href=\"#\" onclick=\"viewfeed('".$tags[$i]."'\")>" . $tags[$i] . "</a>, ";
                        }
-               }
 
-               $tags_str = implode(", ", $formatted_tags);
+                       $tags_str = mb_substr($tags_str, 0, mb_strlen($tags_str)-2);
 
-               if ($num_tags < count($tags)) {
-                       $tags_str .= ", &hellip;";
-               }
+                       if (count($tags) > $maxtags)
+                               $tags_str .= ", &hellip;";
 
-               if ($num_tags == 0) {
-                       $tags_str = __("no tags");
+                       return $tags_str;
                }
-
-               return $tags_str;
-
        }
 
        function format_article_labels($labels, $id) {
                                preg_match("/(Location:|URI:)[^(\n)]*/", $header, $matches);
                                $url = trim(str_replace($matches[1],"",$matches[0]));
                                $url_parsed = parse_url($url);
-                               return (isset($url_parsed))? geturl($url, $referer):'';
+                               return (isset($url_parsed))? geturl($url):'';
                        }
                        $oline='';
                        foreach($status as $key=>$eline){$oline.='['.$key.']'.$eline.' ';}
 
                foreach ($files as $js) {
                        if (!isset($_GET['debug'])) {
-                               $cached_file = CACHE_DIR . "/js/$js.js";
+                               $cached_file = CACHE_DIR . "/js/".basename($js).".js";
 
                                if (file_exists($cached_file) &&
                                                is_readable($cached_file) &&
        }
 
        function calculate_dep_timestamp() {
-               $files = array_merge(glob("js/*.js"), glob("*.css"));
+               $files = array_merge(glob("js/*.js"), glob("css/*.css"));
 
                $max_ts = -1;
 
index b7dae10166c77bfaa00d6ad7254baa5a4ac85e14..0637c453a6811ed4afa57dd4f2ed659295397bf8 100644 (file)
@@ -2,7 +2,7 @@
 <head>
        <title>Tiny Tiny RSS : Login</title>
        <link rel="stylesheet" type="text/css" href="lib/dijit/themes/claro/claro.css"/>
-       <link rel="stylesheet" type="text/css" href="tt-rss.css">
+       <link rel="stylesheet" type="text/css" href="css/tt-rss.css">
        <link rel="shortcut icon" type="image/png" href="images/favicon.png">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <script type="text/javascript" src="lib/dojo/dojo.js"></script>
@@ -188,7 +188,6 @@ function bwLimitChange(elem) {
                                value="<?php echo $_SESSION["fake_login"] ?>" />
                </div>
 
-               <?php if (strpos(PLUGINS, "auth_internal") !== FALSE) { ?>
 
                <div class="row">
                        <label><?php echo __("Password:") ?></label>
@@ -196,10 +195,11 @@ function bwLimitChange(elem) {
                                        style="width : 220px" class="input"
                                        value="<?php echo $_SESSION["fake_password"] ?>"/>
                        <label></label>
+               <?php if (strpos(PLUGINS, "auth_internal") !== FALSE) { ?>
                        <a class='forgotpass' href="public.php?op=forgotpass"><?php echo __("I forgot my password") ?></a>
+               <?php } ?>
                </div>
 
-               <?php } ?>
 
                <div class="row">
                        <label><?php echo __("Profile:") ?></label>
index a5d3898ce12dc605d56ee8bf8d9cd61d9bb038c6..4c3e861237349a105af107e21225c25f868a9a06 100644 (file)
 
                        // since we have the data cached, we can deal with other feeds with the same url
 
-                       $tmp_result = db_query("SELECT DISTINCT ttrss_feeds.id,last_updated
+                       $tmp_result = db_query("SELECT DISTINCT ttrss_feeds.id,last_updated,ttrss_feeds.owner_uid
                        FROM ttrss_feeds, ttrss_users, ttrss_user_prefs WHERE
                                ttrss_user_prefs.owner_uid = ttrss_feeds.owner_uid AND
                                ttrss_users.id = ttrss_user_prefs.owner_uid AND
 
                        if (db_num_rows($tmp_result) > 0) {
                                while ($tline = db_fetch_assoc($tmp_result)) {
-                                       if($debug) _debug(" => " . $tline["last_updated"] . ", " . $tline["id"]);
+                                       if($debug) _debug(" => " . $tline["last_updated"] . ", " . $tline["id"] . " " . $tline["owner_uid"]);
                                        update_rss_feed($tline["id"], true);
                                        ++$nf;
                                }
        } // function update_daemon_common
 
        // ignore_daemon is not used
-       function update_rss_feed($feed, $ignore_daemon = false, $no_cache = false,
-               $override_url = false) {
-
-               require_once "lib/simplepie/simplepie.inc";
+       function update_rss_feed($feed, $ignore_daemon = false, $no_cache = false) {
 
                $debug_enabled = defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug'];
 
 
                $last_updated = db_fetch_result($result, 0, "last_updated");
                $last_article_timestamp = @strtotime(db_fetch_result($result, 0, "last_article_timestamp"));
+
+               if (defined('_DISABLE_HTTP_304'))
+                       $last_article_timestamp = 0;
+
                $owner_uid = db_fetch_result($result, 0, "owner_uid");
                $mark_unread_on_update = sql_bool_to_bool(db_fetch_result($result,
                        0, "mark_unread_on_update"));
 
                $feed = db_escape_string($feed);
 
-               if ($override_url) $fetch_url = $override_url;
-
                $date_feed_processed = date('Y-m-d H:i');
 
-               $cache_filename = CACHE_DIR . "/simplepie/" . sha1($fetch_url) . ".feed";
-
-               // Ignore cache if new feed or manual update.
-               $cache_age = ($no_cache || is_null($last_updated) || strpos($last_updated, '1970-01-01') === 0) ? 30 : get_feed_update_interval($feed) * 60;
+               $cache_filename = CACHE_DIR . "/simplepie/" . sha1($fetch_url) . ".xml";
 
-               _debug("cache filename: $cache_filename exists: " . file_exists($cache_filename), $debug_enabled);
-               _debug("cache age: $cache_age; no cache: $no_cache", $debug_enabled);
+               $pluginhost = new PluginHost();
+               $pluginhost->set_debug($debug_enabled);
+               $user_plugins = get_pref("_ENABLED_PLUGINS", $owner_uid);
 
-               $cached_feed_data_hash = false;
+               $pluginhost->load(PLUGINS, PluginHost::KIND_ALL);
+               $pluginhost->load($user_plugins, PluginHost::KIND_USER, $owner_uid);
+               $pluginhost->load_data();
 
                $rss = false;
                $rss_hash = false;
-               $cache_timestamp = file_exists($cache_filename) ? filemtime($cache_filename) : 0;
 
                $force_refetch = isset($_REQUEST["force_refetch"]);
 
                if (file_exists($cache_filename) &&
                        is_readable($cache_filename) &&
                        !$auth_login && !$auth_pass &&
-                       filemtime($cache_filename) > time() - $cache_age) {
+                       filemtime($cache_filename) > time() - 30) {
 
-                               _debug("using local cache.", $debug_enabled);
+                       _debug("using local cache.", $debug_enabled);
 
-                               if ($cache_timestamp > $last_article_timestamp) {
-                                       @$rss_data = file_get_contents($cache_filename);
+                       @$feed_data = file_get_contents($cache_filename);
+
+                       if ($feed_data) {
+                               $rss_hash = sha1($feed_data);
+                       }
 
-                                       if ($rss_data) {
-                                               $rss_hash = sha1($rss_data);
-                                               @$rss = unserialize($rss_data);
-                                       }
-                               } else if (!$force_refetch) {
-                                       _debug("local cache valid and older than last_updated, nothing to do.", $debug_enabled);
-                                       return;
-                               }
                } else {
                        _debug("local cache will not be used for this feed", $debug_enabled);
                }
 
                if (!$rss) {
 
+                       foreach ($pluginhost->get_hooks(PluginHost::HOOK_FETCH_FEED) as $plugin) {
+                               $feed_data = $plugin->hook_fetch_feed($feed_data, $fetch_url, $owner_uid, $feed);
+                       }
+
                        if (!$feed_data) {
                                _debug("fetching [$fetch_url]...", $debug_enabled);
                                _debug("If-Modified-Since: ".gmdate('D, d M Y H:i:s \G\M\T', $last_article_timestamp), $debug_enabled);
 
                                _debug("fetch done.", $debug_enabled);
 
-                               if ($feed_data) {
+                               /* if ($feed_data) {
                                        $error = verify_feed_xml($feed_data);
 
                                        if ($error) {
                                                        if ($error) $feed_data = '';
                                                }
                                        }
-                               }
+                               } */
                        }
 
                        if (!$feed_data) {
                        }
                }
 
-               $pluginhost = new PluginHost();
-               $pluginhost->set_debug($debug_enabled, $debug_enabled);
-               $user_plugins = get_pref("_ENABLED_PLUGINS", $owner_uid);
-
-               $pluginhost->load(PLUGINS, PluginHost::KIND_ALL);
-               $pluginhost->load($user_plugins, PluginHost::KIND_USER, $owner_uid);
-               $pluginhost->load_data();
-
                foreach ($pluginhost->get_hooks(PluginHost::HOOK_FEED_FETCHED) as $plugin) {
-                       $feed_data = $plugin->hook_feed_fetched($feed_data);
+                       $feed_data = $plugin->hook_feed_fetched($feed_data, $fetch_url, $owner_uid, $feed);
                }
 
+               // set last update to now so if anything *simplepie* crashes later we won't be
+               // continuously failing on the same feed
+               //db_query("UPDATE ttrss_feeds SET last_updated = NOW() WHERE id = '$feed'");
+
                if (!$rss) {
-                       $rss = new SimplePie();
-                       $rss->set_sanitize_class("SanitizeDummy");
-                       // simplepie ignores the above and creates default sanitizer anyway,
-                       // so let's override it...
-                       $rss->sanitize = new SanitizeDummy();
-                       $rss->set_output_encoding('UTF-8');
-                       $rss->set_raw_data($feed_data);
-                       $rss->enable_cache(false);
-
-                       @$rss->init();
+                       $rss = new FeedParser($feed_data);
+                       $rss->init();
                }
 
 //             print_r($rss);
 
                        // cache data for later
                        if (!$auth_pass && !$auth_login && is_writable(CACHE_DIR . "/simplepie")) {
-                               $rss_data = serialize($rss);
                                $new_rss_hash = sha1($rss_data);
 
-                               if ($new_rss_hash != $rss_hash) {
+                               if ($new_rss_hash != $rss_hash && count($rss->get_items()) > 0 ) {
                                        _debug("saving $cache_filename", $debug_enabled);
-                                       @file_put_contents($cache_filename, serialize($rss));
+                                       @file_put_contents($cache_filename, $feed_data);
                                }
                        }
 
 
                        $site_url = db_escape_string(mb_substr(rewrite_relative_url($fetch_url, $rss->get_link()), 0, 245));
 
+                       _debug("site_url: $site_url", $debug_enabled);
+                       _debug("feed_title: " . $rss->get_title(), $debug_enabled);
+
                        if ($favicon_needs_check || $force_refetch) {
 
                                /* terrible hack: if we crash on floicon shit here, we won't check
 
                                _debug("checking favicon...", $debug_enabled);
 
-                               check_feed_favicon($site_url, $feed, $link);
+                               check_feed_favicon($site_url, $feed);
                                $favicon_modified_new = @filemtime($favicon_file);
 
                                if ($favicon_modified_new > $favicon_modified)
 
                                $feed_title = db_escape_string($rss->get_title());
 
-                               _debug("registering title: $feed_title", $debug_enabled);
+                               if ($feed_title) {
+                                       _debug("registering title: $feed_title", $debug_enabled);
 
-                               db_query("UPDATE ttrss_feeds SET
-                                       title = '$feed_title' WHERE id = '$feed'");
+                                       db_query("UPDATE ttrss_feeds SET
+                                               title = '$feed_title' WHERE id = '$feed'");
+                               }
                        }
 
                        if ($site_url && $orig_site_url != $site_url) {
                                if (!$entry_guid) $entry_guid = $item->get_link();
                                if (!$entry_guid) $entry_guid = make_guid_from_title($item->get_title());
 
+                               _debug("f_guid $entry_guid", $debug_enabled);
+
                                if (!$entry_guid) continue;
 
                                $entry_guid = "$owner_uid,$entry_guid";
 
                                $entry_timestamp = "";
 
-                               $entry_timestamp = strtotime($item->get_date());
+                               $entry_timestamp = $item->get_date();
+
+                               _debug("orig date: " . $item->get_date(), $debug_enabled);
 
                                if ($entry_timestamp == -1 || !$entry_timestamp || $entry_timestamp > time()) {
                                        $entry_timestamp = time();
 
                                _debug("date $entry_timestamp [$entry_timestamp_fmt]", $debug_enabled);
 
-                               $entry_title = html_entity_decode($item->get_title(), ENT_COMPAT, 'UTF-8');
-                               $entry_title = decode_numeric_entities($entry_title);
+//                             $entry_title = html_entity_decode($item->get_title(), ENT_COMPAT, 'UTF-8');
+//                             $entry_title = decode_numeric_entities($entry_title);
+                               $entry_title = $item->get_title();
 
                                $entry_link = rewrite_relative_url($site_url, $item->get_link());
 
                                        print "\n";
                                }
 
-                               $entry_comments = $item->data["comments"];
-
-                               if ($item->get_author()) {
-                                       $entry_author_item = $item->get_author();
-                                       $entry_author = $entry_author_item->get_name();
-                                       if (!$entry_author) $entry_author = $entry_author_item->get_email();
-                               }
+                               $entry_comments = $item->get_comments_url();
+                               $entry_author = $item->get_author();
 
                                $entry_guid = db_escape_string(mb_substr($entry_guid, 0, 245));
 
                                $entry_comments = db_escape_string(mb_substr(trim($entry_comments), 0, 245));
                                $entry_author = db_escape_string(mb_substr(trim($entry_author), 0, 245));
 
-                               $num_comments = $item->get_item_tags('http://purl.org/rss/1.0/modules/slash/', 'comments');
-
-                               if (is_array($num_comments) && is_array($num_comments[0])) {
-                                       $num_comments = (int) $num_comments[0]["data"];
-                               } else {
-                                       $num_comments = 0;
-                               }
+                               $num_comments = (int) $item->get_comments_count();
 
                                _debug("author $entry_author", $debug_enabled);
                                _debug("num_comments: $num_comments", $debug_enabled);
-                               _debug("looking for tags [1]...", $debug_enabled);
+                               _debug("looking for tags...", $debug_enabled);
 
                                // parse <category> entries into tags
 
 
                                if (is_array($additional_tags_src)) {
                                        foreach ($additional_tags_src as $tobj) {
-                                               array_push($additional_tags, $tobj->get_term());
+                                               array_push($additional_tags, $tobj);
                                        }
                                }
 
-                               _debug("category tags:", $debug_enabled);
-                               _debug("looking for tags [2]...", $debug_enabled);
-
                                $entry_tags = array_unique($additional_tags);
 
                                for ($i = 0; $i < count($entry_tags); $i++)
                                        $entry_tags[$i] = mb_strtolower($entry_tags[$i], 'utf-8');
 
+                               _debug("tags found: " . join(",", $entry_tags), $debug_enabled);
+
                                _debug("done collecting data.", $debug_enabled);
 
                                // TODO: less memory-hungry implementation
                        mb_strtolower(strip_tags($title), 'utf-8'));
        }
 
-       function verify_feed_xml($feed_data) {
+       /* function verify_feed_xml($feed_data) {
                libxml_use_internal_errors(true);
                $doc = new DOMDocument();
                $doc->loadXML($feed_data);
                $error = libxml_get_last_error();
                libxml_clear_errors();
                return $error;
-       }
+       } */
 
        function housekeeping_common($debug) {
                expire_cached_files($debug);
 
                _debug("Cleaned $rc cached tags.");
        }
-
-       function utf8_entity_decode($entity){
-               $convmap = array(0x0, 0x10000, 0, 0xfffff);
-               return mb_decode_numericentity($entity, $convmap, 'UTF-8');
-       }
-
-       function decode_numeric_entities($body) {
-               $body = preg_replace('/&#\d{2,5};/ue', "utf8_entity_decode('$0')", $body );
-               $body = preg_replace('/&#x([a-fA-F0-7]{2,8});/ue', "utf8_entity_decode('&#'.hexdec('$1').';')", $body );
-               return $body;
-       }
 ?>
index b2888b1d7e65d50591f5cfebb30c48acace68b7d..29e53fa336f29648f75c4186cd11cc8bca75386d 100644 (file)
                        <head>
                        <title>Startup failed</title>
                                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-                               <link rel="stylesheet" type="text/css" href="utility.css">
+                               <link rel="stylesheet" type="text/css" href="css/utility.css">
                        </head>
                <body>
                <div class="floatingLogo"><img src="images/logo_small.png"></div>
index 0e583f9ecbf3f025d20f8c5d7789e5d032945925..7396f81e07130c4174efc2a7dcdd6ffcf7467e4d 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-       define('VERSION_STATIC', '1.7.8');
+       define('VERSION_STATIC', '1.7.9');
 
        function get_version() {
                date_default_timezone_set('UTC');
index 6a34be5e8022e7bfd9c0bd7d88277824d053dcce..8dae2831ffa037ad1d4f5d1dfeb8fc81003ecd10 100644 (file)
--- a/index.php
+++ b/index.php
 <head>
        <title>Tiny Tiny RSS</title>
 
-       <?php echo stylesheet_tag("lib/dijit/themes/claro/claro.css"); ?>
-       <?php echo stylesheet_tag("tt-rss.css"); ?>
-       <?php echo stylesheet_tag("cdm.css"); ?>
+       <?php stylesheet_tag("lib/dijit/themes/claro/claro.css"); ?>
+       <?php stylesheet_tag("css/layout.css"); ?>
 
        <?php if ($_SESSION["uid"]) {
                $theme = get_pref( "USER_CSS_THEME", $_SESSION["uid"], false);
-               if ($theme) {
-                       echo stylesheet_tag("themes/$theme");
+               if ($theme && file_exists("themes/$theme")) {
+                       stylesheet_tag("themes/$theme");
+               } else {
+                       stylesheet_tag("themes/default.css");
                }
        }
        ?>
        foreach (array("lib/prototype.js",
                                "lib/scriptaculous/scriptaculous.js?load=effects,dragdrop,controls",
                                "lib/dojo/dojo.js",
-                               "lib/dijit/dijit.js",
                                "lib/dojo/tt-rss-layer.js",
                                "errors.php?mode=js") as $jsfile) {
 
-               echo javascript_tag($jsfile);
+               javascript_tag($jsfile);
 
        } ?>
 
        <script type="text/javascript">
+               require({cache:{}});
        <?php
                require 'lib/jshrink/Minifier.php';
 
index cd017f99535d73f4790629defd3deca0a3902592..efa917d95357373767b20ee44277a5f43dee9460 100644 (file)
@@ -2,7 +2,7 @@
 <head>
        <title>Tiny Tiny RSS - Installer</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-       <link rel="stylesheet" type="text/css" href="../utility.css">
+       <link rel="stylesheet" type="text/css" href="../css/utility.css">
        <style type="text/css">
        textarea { font-size : 12px; }
        </style>
@@ -89,7 +89,7 @@
                        <span><img src=\"../images/sign_info.svg\"></span><span>$msg</span></div>";
        }
 
-       function db_connect($host, $user, $pass, $db, $type, $port) {
+       function db_connect($host, $user, $pass, $db, $type, $port = false) {
                if ($type == "pgsql") {
 
                        $string = "dbname=$db user=$user";
index fbddb708f34cae5b606f6affa5093cd306f4ea49..e35417dafd1e844b04c696667048a5d77dacf805 100644 (file)
@@ -184,10 +184,60 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
                        tnode._menu = menu;
                }
 
+               ctr = dojo.doc.createElement('span');
+               ctr.className = 'counterNode';
+               ctr.innerHTML = args.item.unread > 0 ? args.item.unread : args.item.auxcounter;
+
+               //args.item.unread > 0 ? ctr.addClassName("unread") : ctr.removeClassName("unread");
+
+               args.item.unread > 0 || args.item.auxcounter > 0 ? Element.show(ctr) : Element.hide(ctr);
+
+               args.item.unread == 0 && args.item.auxcounter > 0 ? ctr.addClassName("aux") : ctr.removeClassName("aux");
+
+               dojo.place(ctr, tnode.rowNode, 'first');
+               tnode.counterNode = ctr;
 
                //tnode.labelNode.innerHTML = args.label;
                return tnode;
        },
+       postCreate: function() {
+               this.connect(this.model, "onChange", "updateCounter");
+               this.connect(this, "_expandNode", function() {
+                       this.hideRead(getInitParam("hide_read_feeds"), getInitParam("hide_read_shows_special"));
+               });
+
+               this.inherited(arguments);
+       },
+       updateCounter: function (item) {
+               var tree = this;
+
+               //console.log("updateCounter: " + item.id[0] + " " + item.unread + " " + tree);
+
+               var node = tree._itemNodesMap[item.id];
+
+               if (node) {
+                       node = node[0];
+
+                       if (node.counterNode) {
+                               ctr = node.counterNode;
+                               ctr.innerHTML = item.unread > 0 ? item.unread : item.auxcounter;
+                               item.unread > 0 || item.auxcounter > 0 ?
+                                       Effect.Appear(ctr, {duration : 0.3,
+                                       queue: { position: 'end', scope: 'CAPPEAR-' + item.id, limit: 1 }}) :
+                                               Element.hide(ctr);
+
+                               item.unread == 0 && item.auxcounter > 0 ? ctr.addClassName("aux") : ctr.removeClassName("aux");
+
+                       }
+               }
+
+       },
+       getTooltip: function (item) {
+               if (item.updated)
+                       return item.updated;
+               else
+                       return "";
+       },
        getIconClass: function (item, opened) {
                return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "feedIcon";
        },
@@ -195,8 +245,12 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
                return (item.unread == 0) ? "dijitTreeLabel" : "dijitTreeLabel Unread";
        },
        getRowClass: function (item, opened) {
-               return (!item.error || item.error == '') ? "dijitTreeRow" :
+               var rc = (!item.error || item.error == '') ? "dijitTreeRow" :
                        "dijitTreeRow Error";
+
+               if (item.unread > 0) rc += " Unread";
+
+               return rc;
        },
        getLabel: function(item) {
                var name = String(item.name);
@@ -208,15 +262,15 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
                name = name.replace(/&lt;/g, "<");
                name = name.replace(/&gt;/g, ">");
 
-               var label;
+               /* var label;
 
                if (item.unread > 0) {
                        label = name + " (" + item.unread + ")";
                } else {
                        label = name;
-               }
+               } */
 
-               return label;
+               return name;
        },
        expandParentNodes: function(feed, is_cat, list) {
                try {
@@ -307,11 +361,9 @@ dojo.declare("fox.FeedTree", dijit.Tree, {
 
                if (treeNode) {
                        treeNode = treeNode[0];
-                       if (is_cat) {
-                               if (treeNode.loadingNode) {
-                                       treeNode.loadingNode.src = src;
-                                       return true;
-                               }
+                       if (treeNode.loadingNode) {
+                               treeNode.loadingNode.src = src;
+                               return true;
                        } else {
                                treeNode.expandoNode.src = src;
                                return true;
index 2c1acc310be97cbca71c0d0df5dc739c4e24f8db..84b561227578c82b6b62dafb782c61a6520331e7 100644 (file)
@@ -151,6 +151,8 @@ function feedlist_init() {
        try {
                console.log("in feedlist init");
 
+               loading_set_progress(50);
+
                document.onkeydown = hotkey_handler;
                setTimeout("hotkey_prefix_timeout()", 5*1000);
 
@@ -217,6 +219,7 @@ function parse_counters(elems, scheduled_call) {
                        var error = elems[l].error;
                        var has_img = elems[l].has_img;
                        var updated = elems[l].updated;
+                       var auxctr = parseInt(elems[l].auxcounter);
 
                        if (id == "global-unread") {
                                global_unread = ctr;
@@ -234,6 +237,7 @@ function parse_counters(elems, scheduled_call) {
                        }
 
                        setFeedUnread(id, (kind == "cat"), ctr);
+                       setFeedValue(id, (kind == "cat"), 'auxcounter', auxctr);
 
                        if (kind != "cat") {
                                setFeedValue(id, false, 'error', error);
@@ -416,7 +420,7 @@ function catchupFeed(feed, is_cat, mode) {
                case "1week":
                        str = __("Mark all articles in %s older than 1 week as read?");
                        break;
-               case "2weeks":
+               case "2week":
                        str = __("Mark all articles in %s older than 2 weeks as read?");
                        break;
                default:
index 4346054ef68e3c3374cf36f16f8ac526acc368e8..e226459fc24fa0386b479ea53e20b464256b6560 100644 (file)
@@ -1610,21 +1610,6 @@ function resetCatOrder() {
        }
 }
 
-function toggleHiddenFeedCats() {
-       try {
-               notify_progress("Loading, please wait...");
-
-               new Ajax.Request("backend.php", {
-                       parameters: "?op=pref-feeds&method=togglehiddenfeedcats",
-                       onComplete: function(transport) {
-                               updateFeedList();
-                       } });
-
-       } catch (e) {
-               exception_error("toggleHiddenFeedCats");
-       }
-}
-
 function editCat(id, item, event) {
        try {
                var new_name = prompt(__('Rename category to:'), item.name);
index c6c0c13dd445177c7a6219992c3736e5f52e04a8..e3731c0cbf11c84883f4d5dab52314711e533d65 100644 (file)
@@ -116,6 +116,7 @@ function updateFeedList() {
 
                tree.startup();
 
+
        } catch (e) {
                exception_error("updateFeedList", e);
        }
@@ -249,7 +250,7 @@ function init() {
                if (!genericSanityCheck())
                        return false;
 
-               loading_set_progress(20);
+               loading_set_progress(30);
 
                var a = document.createElement('audio');
 
@@ -547,11 +548,37 @@ function init_second_stage() {
                        closeArticlePanel();
 
                        _widescreen_mode = getInitParam("widescreen");
+                       switchPanelMode(_widescreen_mode);
 
-                       if (_widescreen_mode) {
-                               switchPanelMode(_widescreen_mode);
+                       if (parseInt(getCookie("ttrss_fh_width")) > 0) {
+                               dijit.byId("feeds-holder").domNode.setStyle(
+                                       {width: getCookie("ttrss_fh_width") + "px" });
                        }
 
+                       if (parseInt(getCookie("ttrss_ci_width")) > 0) {
+                               if (_widescreen_mode) {
+                                       dijit.byId("content-insert").domNode.setStyle(
+                                               {width: getCookie("ttrss_ci_width") + "px" });
+
+                               } else {
+                                       dijit.byId("content-insert").domNode.setStyle(
+                                               {height: getCookie("ttrss_ci_height") + "px" });
+                               }
+                       }
+
+                       dijit.byId("main").resize();
+
+                       var tmph = dojo.connect(dijit.byId('feeds-holder'), 'resize',
+                               function (args) {
+                                       setCookie("ttrss_fh_width", args.w, getInitParam("cookie_lifetime"));
+                       });
+
+                       var tmph = dojo.connect(dijit.byId('content-insert'), 'resize',
+                               function (args) {
+                                       setCookie("ttrss_ci_width", args.w, getInitParam("cookie_lifetime"));
+                                       setCookie("ttrss_ci_height", args.h, getInitParam("cookie_lifetime"));
+                       });
+
                });
 
                delCookie("ttrss_test");
@@ -573,7 +600,7 @@ function init_second_stage() {
                        setActiveFeedId(hash_feed_id, hash_feed_is_cat);
                }
 
-               loading_set_progress(30);
+               loading_set_progress(50);
 
                // can't use cache_clear() here because viewfeed might not have initialized yet
                if ('sessionStorage' in window && window['sessionStorage'] !== null)
@@ -1033,6 +1060,7 @@ function switchPanelMode(wide) {
                                borderTopWidth: '0px' });
 
                        $("headlines-toolbar").setStyle({ borderBottomWidth: '0px' });
+                       $("headlines-frame").setStyle({ borderBottomWidth: '0px' });
 
                } else {
 
@@ -1044,6 +1072,8 @@ function switchPanelMode(wide) {
                                borderTopWidth: '1px'});
 
                        $("headlines-toolbar").setStyle({ borderBottomWidth: '1px' });
+
+                       $("headlines-frame").setStyle({ borderBottomWidth: '1px' });
                }
 
                closeArticlePanel();
index ada225cbff79db627d9d0d64a7c2b33de4f5680b..095bfab22210ed11432744769c55f8b035a964b8 100644 (file)
@@ -20,8 +20,6 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
        try {
                handle_rpc_json(transport);
 
-               loading_set_progress(25);
-
                console.log("headlines_callback2 [offset=" + offset + "] B:" + background + " I:" + infscroll_req);
 
                var is_cat = false;
@@ -60,6 +58,11 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
                                }
                        } catch (e) { };
 
+                       $("headlines-frame").removeClassName("cdm");
+                       $("headlines-frame").removeClassName("normal");
+
+                       $("headlines-frame").addClassName(isCdmMode() ? "cdm" : "normal");
+
                        var headlines_count = reply['headlines-info']['count'];
 
                        vgroup_last_feed = reply['headlines-info']['vgroup_last_feed'];
@@ -136,8 +139,6 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
 
                                        if (!hsp) hsp = new Element("DIV", {"id": "headlines-spacer"});
 
-                                       fixHeadlinesOrder(getLoadedArticleIds());
-
                                        if (getInitParam("cdm_auto_catchup") == 1) {
                                                c.domNode.appendChild(hsp);
                                        }
@@ -1239,6 +1240,29 @@ function headlines_scroll_handler(e) {
 
                unpackVisibleHeadlines();
 
+               // set topmost child in the buffer as active
+               if (getInitParam("cdm_auto_catchup") == 1) {
+                       var rows = $$("#headlines-frame > div[id*=RROW]");
+
+                       for (var i = 0; i < rows.length; i++) {
+                               var child = rows[i];
+
+                               if ($("headlines-frame").scrollTop < child.offsetTop &&
+                                       child.offsetTop - $("headlines-frame").scrollTop < 100) {
+
+                                       if (_active_article_id) {
+                                               var row = $("RROW-" + _active_article_id);
+                                               if (row) row.removeClassName("active");
+                                       }
+
+                                       _active_article_id = child.id.replace("RROW-", "");
+                                       showArticleInHeadlines(_active_article_id, true);
+                                       updateSelectedPrompt();
+                                       break;
+                               }
+                       }
+               }
+
                if (!_infscroll_disable) {
                        if ((hsp && e.scrollTop + e.offsetHeight >= hsp.offsetTop - hsp.offsetHeight) ||
                                        (e.scrollHeight != 0 &&
@@ -1274,6 +1298,7 @@ function headlines_scroll_handler(e) {
 
                                                //console.log("auto_catchup_batch: " + catchup_id_batch.toString());
                                        }
+
                                });
 
                        if (catchup_id_batch.length > 0) {
@@ -1418,6 +1443,8 @@ function cdmCollapseArticle(event, id, unmark) {
                                if (id == getActiveArticleId()) {
                                        setActiveArticleId(0);
                                }
+
+                               updateSelectedPrompt();
                        }
 
                        if (event) Event.stop(event);
@@ -1498,26 +1525,6 @@ function cdmExpandArticle(id, noexpand) {
        return false;
 }
 
-function fixHeadlinesOrder(ids) {
-       try {
-               for (var i = 0; i < ids.length; i++) {
-                       var e = $("RROW-" + ids[i]);
-
-                       if (e) {
-                               if (i % 2 == 0) {
-                                       e.removeClassName("even");
-                                       e.addClassName("odd");
-                               } else {
-                                       e.removeClassName("odd");
-                                       e.addClassName("even");
-                               }
-                       }
-               }
-       } catch (e) {
-               exception_error("fixHeadlinesOrder", e);
-       }
-}
-
 function getArticleUnderPointer() {
        return post_under_pointer;
 }
@@ -1598,7 +1605,6 @@ function dismissSelectedArticles() {
                if (sel.length > 0)
                        selectionToggleUnread(false);
 
-               fixHeadlinesOrder(tmp);
 
        } catch (e) {
                exception_error("dismissSelectedArticles", e);
@@ -1623,8 +1629,6 @@ function dismissReadArticles() {
                        }
                }
 
-               fixHeadlinesOrder(tmp);
-
        } catch (e) {
                exception_error("dismissSelectedArticles", e);
        }
index 69281cb5ee9e9841875e4104073c71ffd56b207b..a139473f95f955f6f8e215555fbc684b768db7ff 100644 (file)
@@ -336,7 +336,7 @@ function processBeginBlockCmd ($parms, $cmdTPosBegin, $cmdTPosEnd) {
    $this->openBlocksTab[$this->currentNestingLevel] = $blockNo;\r
    $this->currentNestingLevel += 1;\r
    if ($this->currentNestingLevel > $this->maxNestingLevel) {\r
-      $trhis->triggerError ("Block nesting overflow in template at offset $cmdTPosBegin.");\r
+      $this->triggerError ("Block nesting overflow in template at offset $cmdTPosBegin.");\r
       return false; }\r
    return true; }\r
 \r
@@ -844,7 +844,7 @@ function readFileIntoString ($fileName, &$s) {
    $fh = fopen($fileName,"rb");\r
    if ($fh === false) return false;\r
    $fileSize = filesize($fileName);\r
-   if ($fileSize === false) {close ($fh); return false; }\r
+   if ($fileSize === false) {fclose ($fh); return false; }\r
    $s = fread($fh,$fileSize);\r
    fclose ($fh);\r
    if (strlen($s) != $fileSize) return false;\r
diff --git a/lib/floIcon.php b/lib/floIcon.php
deleted file mode 100644 (file)
index 59902b6..0000000
+++ /dev/null
@@ -1,849 +0,0 @@
-<?php
-/***************************************************************************
- *  Original floIcon copyright (C) 2007 by Joshua Hatfield.                *
- *                                                                         *
- *  In order to use any part of this floIcon Class, you must comply with   *
- *  the license in 'license.doc'.  In particular, you may not remove this  *
- *  copyright notice.                                                      *
- *                                                                         *
- *  Much time and thought has gone into this software and you are          *
- *  benefitting.  We hope that you share your changes too.  What goes      *
- *  around, comes around.                                                  *
- ***************************************************************************
-
-Version 1.1.1:
-Date: 2009-03-16
-
-Changes:
-I was a little hasty on that last update.  A couple new bugs from 1.1.0 have
-been fixed.
-
-Version 1.1.0:
-Date: 2009-03-16
-
-Changes:
-Added Vista support.
-Fixed a number of minor bugs.  Many thanks to Dvir Berebi for pointing
-        them out.
-
-Version 1.0.5:
-Date: 2009-03-15
-
-Changes:
-Fixed bug when operating on low bit count images (1 or 4) with odd dimensions.
-
-Version 1.0.4:
-Date: 2007-05-25
-
-Changes:
-Made function not break quite so bad when reading a PNG file on a Vista icon.
-        Now, you shouldn't be loading Vista icons anyways, but since I'm trying to
-        upgrade to Vista compatible and I need a comparison, I've got to.
-
-Version 1.0.3:
-Date: 2007-05-25
-
-Changes:
-Okay, this one was just stupid.  When adding large image support, I messed up
-        and when reading, it doubled the image size.  Now, it's fixed.
-I took the opportunity to also add a dummy AND map for 32 images on those
-        readers who might be looking for it (though it's not supposed to be used.)
-
-Version 1.0.2:
-Date: 2007-05-24
-
-Sorry about two versions so quickly back to back, but something needed to be
-done with speed...things were getting too slow.  I'm sure you'll be okay.
-
-Changes:
-Told palette determination to stop at 257 colors or is 32 bit because the
-        palette is not used at that point and gets really slow when it starts
-        getting into the high numbers, for instance, in photographs or gradient
-        truecolor images with lots of unique colors.
-After experimenting, it appears that Windows XP does in fact support 256x256
-        images and larger by setting the entry value to 0 in the 1 byte that holds
-        that value and storing the true dimentions in the image header later.  Of
-        course, it still doesn't use these images in normal operation.  XP will
-        resize these and use them if no other images are available.
-Wrapped main documentation (this) to the 80th column for easier reading.
-
-Version 1.0.1:
-Date: 2007-05-23
-
-Thank you everyone for actively using the implementation on my site and
-illuminating me very quickly to a number of glaring bugs in this class.
-
-Changes:
-Added version history.
-Fixed bug with non-standard sizes in AND map reading AND writing.
-Fixed bug with palette images using non-black color in backgrounds.
-Fixed bug with height/width reversal reading files.
-
-
-Version 1.0.0:
-Date: 2007-05-17
-Original release date.
-
-
-Foreword:
-If you are simply in the effort of making an ICO file, may I recommend visiting
-my site, http://www.flobi.com/ , and clicking on floIcon.  I have a fully
-functional implementation (on which the sample.php is based) where you can also
-see recent icons submitted by other visitors.  No registration required, no
-intrusive ads.  (As of this writing, there aren't actually any ads at all, I
-might add google ads at some point.)
-
-If you are trying to get an idea of how ICO files, work, may I recommend the
-page I used, http://www.daubnet.com/formats/ICO.html .  It does not fully cover
-icon files, but it does a very good job of what it does.  Any additional
-information, I will try to post at
-http://www.flobi.com/test/floIcon/more_on_icons.php for your convenience.
-
-If you are trying to get an idea of how image resource files work, I recommend
-ANY other class that deals with images.  This class essentially plots points on
-the image, and that's not perticularly advanced.
-
-For any purpose, I wish you luck and feel free to contact me with any bugs,
-comments, questions, etc.  - Flobi
-
-Summary:
-This class parses ICO files.  It reads directly from the ICO file, headers
-first, so that if you are only retrieving 1 image, the entire ICO file need not
-be parsed.  It supports merging ICO files.  It supports adding PHP image
-resources as new images to the file.  It has an export capability that can
-easily be written to a new (or the same) ICO file for saving ICO files.  All
-sizes from 1x1 to 255x255 pixels and 1, 4, 8, 24 (plus transparency) and 32 bit
-images are supported.  Image retrieval by size is supported.
-
-Included is a fully functional sample that allows users to upload ICO, GIF,
-JPEG and PNG files into a session icon file as well as remove images from the
-file and download the completed file (sample.php).
-
-Known Limitations: Does not support Vista icons.  Does not support inversion
-palette method (because of the limitations of the PHP image resource).
-
-Addendum on Limitations:
-Windows Vista has added support for 256x256 size icons and now stores files as
-PNG's.  This class is for older ICO files.  A new class is currently under
-development that supports the new Windows Vista format.
-
-Palette inversion (my name for this technique) is the technique of using a black
-pixel (0, 0, 0) with a 1 "AND" pixel.  White pixels with a 1 "AND" show
-transparent (or "don't" show).  Black pixels with a 1 "AND" show inverted
-(sometimes).  Because this method isn't uniformly supported or documented and
-the PHP image resource doesn't support it, I have decided to not as well.  This
-does not apply to 32 bit images which include alpha transparency and no AND map.
-
-Though other functions exist, these are the only ones I believe offer usefulness
-to be public.
-floIcon public functions:
-        readICO($file, $offset = 0)
-                Loads the icon from the specified filepath ($file) starting at the
-                specified file offset ($offset).  This function MERGES the loaded icon
-                images into the floIcon object.
-
-        formatICO($offset = 0)
-                Returns the current floIcon object formatted as an .ICO file with the
-                file offset altered by $offset.  If there are too many or too large
-                images, causing any images saved past the 4,294,967,296th byte, this
-                will return false.  (This is well outside PHP's default memory
-                allocation.)
-
-        addImage($imageResource, $desiredBitCount = 1, $pngIfWidthExceeds = 48)
-                Adds an icon image to the icon file based on the passed image resource
-                ($imageResource).  It will automatically determine the bit count, but
-                can be persuaded to increase that to $desiredBitCount if that value is
-                greater than the determined bit count.
-
-                NOTE: The image resource is saved by REFERRENCE.  So, if you edit it
-                then call getImage, the resource returned will be the same, editions and
-                all.  Destruction of the resource will cause a new resource to be
-                created in getImage().
-
-        getImage($offset)
-                Returns the php image resource either assigned by addImage or created
-                dynamically at calltime by the data loaded with readICO().  The offset
-                specified here ($offset) is the array offset starting at 0 and ending
-                at countImages().
-
-        getBestImage($height = 32, $width = 32)
-                Returns the php images resource of the highest quality image closest to
-                the size specified.  This could be useful when you only want to display
-                the icon in an icon list with a single representative icon.  A resized
-                copy of the highest quality available image will be returned if there is
-                no 32 or 24 bit icon present at the speficied dimentions.
-
-        sortImagesBySize()
-                Sorts the $this->images array by order of size, smallest to largest.
-                This is the optimal sorting for icon files.
-
-        countImages()
-                Returns a count of how many images are present in the current floIcon
-                object.
-
-floIcon public variables:
-        $images
-                Contains a numerically indexed array of floIconImage objects.
-        $updated
-                True if an image has been added since load or last formatICO, otherwise
-                false.
-
-floIconImage public functions:
-        getHeader()
-                Returns an associative array containing the information from the ICO
-                image header.
-
-        getEntry()
-                Returns an associative array containing the information from the ICO
-                entry header.
-
-                NOTE: If this icon image was created by php image resource, this may not
-                have accurate information until saving from floIcon with the formatICO()
-                function.  Specifically, offset information will be inaccurate.
-
-        getImageResource()
-                Returns a php image resource.  Same as floIcon's getImage() function.
-
-        setImageResource($imageResource, $desiredBitCount = 1, $pngIfWidthExceeds = 48)
-                Changes this icon image based on the passed image resource
-                ($imageResource). It will automatically determine the bit count, but can
-                be persuaded to increase that to $desiredBitCount if that value is
-                greater than the determined bit count.
-
-                NOTE: The image resource is saved by REFERRENCE.  So, if you edit it
-                then call getImageResource, the resource returned will be the same,
-                editions and all.  Destruction of the resource will cause a new resource
-                to be created in getImageResource().
-
-        dealocateResource()
-                This destroys the image resource variable, freeing up memory.  The image
-                will automatically be recreated when getImageResource is executed.
-*/
-class floIcon {
-        /*
-         * $images is an associative array of offset integer => floIconImage object
-         */
-        var $images; // Array of floIconImage objects.
-        var $updated = false;
-        function floIcon() {
-                $this->images = array();
-        }
-        function countImages() {
-                return count($this->images);
-        }
-        function getBestImage($height = 32, $width = 32) {
-                $best = false;
-                $bestEntry = array();
-                $secondBest = false;
-                $secondBestEntry = array();
-                foreach ($this->images as $key => $image) {
-                        $entry = $image->getEntry();
-                        $header = $image->getHeader();
-                        if (!@$entry["BitCount"]) {
-                                $entry["BitCount"] = $header["BitCount"];
-                        }
-                        if ($entry["Height"] == $height && $entry["Width"] == $width && $entry["BitCount"] == 32) {
-                                return $image->getImageResource();
-                        } elseif ($entry["Height"] == $height && $entry["Width"] == $width && $entry["BitCount"] > min(4, @$bestEntry["BitCount"])) {
-                                $best = $image;
-                                $bestEntry = $entry;
-                        } elseif (
-                                !$secondBest or
-                                $entry["Height"] >= $secondBestEntry["Height"] &&
-                                $entry["Width"] >= $secondBestEntry["Width"] &&
-                                $secondBestEntry["BitCount"] >= $secondBestEntry["BitCount"] and
-                                (
-                                        $entry["Height"] <= 64 && $entry["Height"] > $secondBestEntry["Height"] and
-                                        $entry["Height"] > 64 && $entry["Height"] < $secondBestEntry["Height"]
-                                ) ||
-                                (
-                                        $entry["Width"] <= 64 && $entry["Width"] > $secondBestEntry["Width"] and
-                                        $entry["Width"] > 64 && $entry["Width"] < $secondBestEntry["Width"]
-                                ) ||
-                                $secondBestEntry["BitCount"] > $secondBestEntry["BitCount"]
-                                ) {
-                                $secondBest = $image;
-                                $secondBestEntry = $entry;
-                        }
-                }
-                if ($best) {
-                        return $best->getImageResource();
-                } elseif ($secondBest) {
-                        if ($secondBestEntry["Width"] != $width || $secondBestEntry["Height"] != $height) {
-                                $imageResource = $secondBest->getImageResource();
-                                $newImageResource = imagecreatetruecolor($width, $height);
-                                imagesavealpha($newImageResource, true);
-                                imagealphablending($newImageResource, false);
-                                imagecopyresampled($newImageResource, $imageResource, 0, 0, 0, 0, $width, $height, $secondBestEntry["Width"], $secondBestEntry["Height"]);
-                                $this->addImage($newImageResource, 32);
-                                return $newImageResource;
-                        } else {
-                                return $secondBest->getImageResource();
-                        }
-                }
-        }
-        /*
-         * readICO merges the icon images from the file to the current list
-         */
-        function readICO($file, $offset = 0) {
-                if (file_exists($file) && filesize($file) > 0 && $filePointer = fopen($file, "r")) {
-                        fseek($filePointer, $offset);
-                        $header = unpack("SReserved/SType/SCount", fread($filePointer, 6));
-                        for ($t = 0; $t < $header["Count"]; $t++) {
-                                $newImage = new floIconImage();
-                                if ($newImage->readImageFromICO($filePointer, 6 + ($t * 16))) {
-                                                                                         $this->images[] = $newImage;
-                                                                                 }
-                        }
-                        fclose($filePointer);
-                }
-        }
-        function sortImagesBySize() {
-                usort($this->images, array("floIcon", "_cmpObj"));
-        }
-        function formatICO($offset = 0) {
-                $this->updated = false;
-                $output = "";
-                $output .= pack("SSS", 0, 1, count($this->images));
-                $output_images = "";
-                foreach ($this->images as $image) {
-                        $newImageOffset = $offset + // Whatever offset we've been given.
-                                6 // Header.
-                                + (count($this->images) * 16) // Entries.
-                                + strlen($output_images);
-                        if ($newImageOffset > pow(256, 4) /* 4 bytes available for position */ ) {
-                                return false;
-                        }
-                        $output .= $image->formatEntryForIco($newImageOffset); // The images already in there.
-                        $output_images .= $image->formatImageForIco();
-                }
-                return $output.$output_images;
-        }
-        function _cmpObj($a, $b) {
-                $aSize = $a->getSize();
-                $bSize = $b->getSize();
-                if ($aSize == $bSize) {
-                        return 0;
-                }
-                return ($aSize > $bSize)?1:-1;
-        }
-
-        function addImage($imageResource, $desiredBitCount = 1, $pngIfWidthExceeds = 48) {
-                $this->updated = true;
-                $newImage = new floIconImage();
-                $newImage->setImageResource($imageResource, $desiredBitCount, $pngIfWidthExceeds);
-                $this->images[] = $newImage;
-        }
-        function getImage($offset) {
-                if (isset($this->images[$offset])) {
-                        return $this->images[$offset]->getImageResource();
-                } else {
-                        return false;
-                }
-        }
-        /*
-         * getSize computes the
-         */
-        function getSize() {
-                // Compute headers.
-                $computedSize = 6; // Always 6 bytes.
-                // Add image entry headers
-                $computedSize += count($this->images) * 16; // Entry headers are always 16 bytes.
-                foreach ($this->images as $image) {
-                        $computedSize += $image->getSize() + $image->getHeaderSize(); // getSize does not include the header.
-                }
-        }
-}
-class floIconImage {
-        var $_imageResource = null;
-        var $_entry = "";
-        var $_entryIconFormat = "";
-        var $_header = "";
-        var $_headerIconFormat = "";
-        var $_imageIconFormat = ""; // Includes palette and mask.
-        function formatEntryForIco($offset) {
-                // Format the entry, this has to be done here because we need the offset to get the full information.
-                $this->_entry["FileOffset"] = $offset;
-                $this->_entryIconFormat = pack("CCCCSSLL",
-                        $this->_entry["Width"]>=256?0:$this->_entry["Width"],
-                        $this->_entry["Height"]>=256?0:$this->_entry["Height"],
-                        $this->_entry["ColorCount"],
-                        $this->_entry["Reserved"],
-                        $this->_entry["Planes"],
-                        $this->_entry["BitCount"],
-                        $this->_entry["SizeInBytes"],
-                        $this->_entry["FileOffset"]
-                );
-                return $this->_entryIconFormat;
-        }
-        function formatImageForIco() {
-                // Format the entry, this has to be done here because we need the offset to get the full information.
-                return ($this->_headerIconFormat.$this->_imageIconFormat);
-        }
-
-        // Will move $bitCount UP to $desiredBitCount if $bitCount is found to be less than it.
-        function setImageResource($imageResource, $desiredBitCount = 1, $pngIfWidthExceeds = 48) {
-                imagesavealpha($imageResource, true);
-                imagealphablending($imageResource, false);
-                $height = imagesy($imageResource);
-                $width = imagesx($imageResource);
-
-                // Parse resource to determine header and icon format
-
-                // Find Palette information
-                $is_32bit = false; // Start with an assumption and get proven wrong.
-                $hasTransparency = 0;
-                $blackColor = false;
-                $bitCount = 0;
-                $realPalette = array();
-                $realIndexPalette = array();
-                for ($x = 0; $x < $width && !$is_32bit; $x++) {
-                        for ($y = 0; $y < $height && !$is_32bit; $y++) {
-                                $colorIndex = imagecolorat($imageResource, $x, $y);
-                                $color = imagecolorsforindex($imageResource, $colorIndex);
-                                if ($color["alpha"] == 0) {
-                                        // No point continuing if there's more than 256 colors or it's 32bit.
-                                        if (count($realPalette) < 257 && !$is_32bit) {
-                                                $inRealPalette = false;
-                                                foreach($realPalette as $realPaletteKey => $realPaletteColor) {
-                                                        if (
-                                                                $color["red"] == $realPaletteColor["red"] and
-                                                                $color["green"] == $realPaletteColor["green"] and
-                                                                $color["blue"] == $realPaletteColor["blue"]
-                                                        ) {
-                                                                $inRealPalette = $realPaletteKey;
-                                                                break;
-                                                        }
-                                                }
-                                                if ($inRealPalette === false) {
-                                                        $realIndexPalette[$colorIndex] = count($realPalette);
-                                                        if (
-                                                                $blackColor === false and
-                                                                $color["red"] == 0 and
-                                                                $color["green"] == 0 and
-                                                                $color["blue"] == 0
-                                                        ) {
-                                                                $blackColor = count($realPalette);
-                                                        }
-                                                        $realPalette[] = $color;
-                                                } else {
-                                                        $realIndexPalette[$colorIndex] = $inRealPalette;
-                                                }
-                                        }
-                                } else {
-                                        $hasTransparency = 1;
-                                }
-                                if ($color["alpha"] != 0 && $color["alpha"] != 127) {
-                                        $is_32bit = true;
-                                }
-                        }
-                }
-                if ($is_32bit) {
-                        $colorCount = 0;
-                        $bitCount = 32;
-                } else {
-                        if ($hasTransparency && $blackColor === false) {
-                                // We need a black color to facilitate transparency.  Unfortunately, this can
-                                // increase the palette size by 1 if there's no other black color.
-                                $blackColor = count($realPalette);
-                                $color = array(
-                                        "red" => 0,
-                                        "blue" => 0,
-                                        "green" => 0,
-                                        "alpha" => 0
-                                );
-                                $realPalette[] = $color;
-                        }
-                        $colorCount = count($realPalette);
-                        if ($colorCount > 256 || $colorCount == 0) {
-                                $bitCount = 24;
-                        } elseif ($colorCount > 16) {
-                                $bitCount = 8;
-                                // 8 bit
-                        } elseif ($colorCount > 2) {
-                                $bitCount = 4;
-                                // 4 bit
-                        } else {
-                                $bitCount = 1;
-                                // 1 bit
-                        }
-                        if ($desiredBitCount > $bitCount) {
-                                $bitCount = $desiredBitCount;
-                        }
-                        switch ($bitCount) {
-                                case 24:
-                                        $colorCount = 0;
-                                        break;
-                                case 8:
-                                        $colorCount = 256;
-                                        break;
-                                case 4:
-                                        $colorCount = 16;
-                                        break;
-                                case 1:
-                                        $colorCount = 2;
-                                        break;
-                        }
-                }
-                // Create $this->_imageIconFormat...
-                $this->_imageIconFormat = "";
-                if ($bitCount < 24) {
-                        $iconPalette = array();
-                        // Save Palette
-                        foreach ($realIndexPalette as $colorIndex => $paletteIndex) {
-                                $color = $realPalette[$paletteIndex];
-                                $this->_imageIconFormat .= pack("CCCC", $color["blue"], $color["green"], $color["red"], 0);
-                        }
-                        while (strlen($this->_imageIconFormat) < $colorCount * 4) {
-                                $this->_imageIconFormat .= pack("CCCC", 0, 0, 0, 0);
-                        }
-                        // Save Each Pixel as Palette Entry
-                        $byte = 0; // For $bitCount < 8 math
-                        $bitPosition = 0; // For $bitCount < 8 math
-                        for ($y = 0; $y < $height; $y++) {
-                                for ($x = 0; $x < $width; $x++) {
-                                        $color = imagecolorat($imageResource, $x, $height-$y-1);
-                                        if (isset($realIndexPalette[$color])) {
-                                                $color = $realIndexPalette[$color];
-                                        } else {
-                                                $color = $blackColor;
-                                        }
-
-                                        if ($bitCount < 8) {
-                                                $bitPosition += $bitCount;
-                                                $colorAdjusted = $color * pow(2, 8 - $bitPosition);
-                                                $byte += $colorAdjusted;
-                                                if ($bitPosition == 8) {
-                                                        $this->_imageIconFormat .= chr($byte);
-                                                        $bitPosition = 0;
-                                                        $byte = 0;
-                                                }
-                                        } else {
-                                                $this->_imageIconFormat .= chr($color);
-                                        }
-                                }
-                                // Each row ends with dumping the remaining bits and filling up to the 32bit line with 0's.
-                                if ($bitPosition) {
-                                        $this->_imageIconFormat .= chr($byte);
-                                        $bitPosition = 0;
-                                        $byte = 0;
-                                }
-                                if (strlen($this->_imageIconFormat)%4) $this->_imageIconFormat .= str_repeat(chr(0), 4-(strlen($this->_imageIconFormat)%4));
-                        }
-                } else {
-                        // Save each pixel.
-                        for ($y = 0; $y < $height; $y++) {
-                                for ($x = 0; $x < $width; $x++) {
-                                        $color = imagecolorat($imageResource, $x, $height-$y-1);
-                                        $color = imagecolorsforindex($imageResource, $color);
-                                        if ($bitCount == 24) {
-                                                if ($color["alpha"]) {
-                                                        $this->_imageIconFormat .= pack("CCC", 0, 0, 0);
-                                                } else {
-                                                        $this->_imageIconFormat .= pack("CCC", $color["blue"], $color["green"], $color["red"]);
-                                                }
-                                        } else {
-                                                $color["alpha"] = round((127-$color["alpha"]) / 127 * 255);
-                                                $this->_imageIconFormat .= pack("CCCC", $color["blue"], $color["green"], $color["red"], $color["alpha"]);
-                                        }
-                                }
-                                if (strlen($this->_imageIconFormat)%4) $this->_imageIconFormat .= str_repeat(chr(0), 4-(strlen($this->_imageIconFormat)%4));
-                        }
-                }
-                // save AND map (transparency)
-                $byte = 0; // For $bitCount < 8 math
-                $bitPosition = 0; // For $bitCount < 8 math
-                for ($y = 0; $y < $height; $y++) {
-                        for ($x = 0; $x < $width; $x++) {
-                                if ($bitCount < 32) {
-                                        $color = imagecolorat($imageResource, $x, $height-$y-1);
-                                        $color = imagecolorsforindex($imageResource, $color);
-                                        $color = $color["alpha"] == 127?1:0;
-                                } else {
-                                        $color = 0;
-                                }
-
-                                $bitPosition += 1;
-                                $colorAdjusted = $color * pow(2, 8 - $bitPosition);
-                                $byte += $colorAdjusted;
-                                if ($bitPosition == 8) {
-                                        $this->_imageIconFormat .= chr($byte);
-                                        $bitPosition = 0;
-                                        $byte = 0;
-                                }
-                        }
-                        // Each row ends with dumping the remaining bits and filling up to the 32bit line with 0's.
-                        if ($bitPosition) {
-                                $this->_imageIconFormat .= chr($byte);
-                                $bitPosition = 0; // For $bitCount < 8 math
-                                $byte = 0;
-                        }
-                        while (strlen($this->_imageIconFormat)%4) {
-                                $this->_imageIconFormat .= chr(0);
-                        }
-                }
-                if ($colorCount >= 256) {
-                        $colorCount = 0;
-                }
-                // Create header information...
-                $this->_header = array(
-                        "Size" => 40,
-                        "Width" => $width,
-                        "Height" => $height*2,
-                        "Planes" => 1,
-                        "BitCount" => $bitCount,
-                        "Compression" => 0,
-                        "ImageSize" => strlen($this->_imageIconFormat),
-                        "XpixelsPerM" => 0,
-                        "YpixelsPerM" => 0,
-                        "ColorsUsed" => $colorCount,
-                        "ColorsImportant" => 0,
-                );
-                $this->_headerIconFormat = pack("LLLSSLLLLLL",
-                        $this->_header["Size"],
-                        $this->_header["Width"],
-                        $this->_header["Height"],
-
-                        $this->_header["Planes"],
-                        $this->_header["BitCount"],
-
-                        $this->_header["Compression"],
-                        $this->_header["ImageSize"],
-                        $this->_header["XpixelsPerM"],
-                        $this->_header["YpixelsPerM"],
-                        $this->_header["ColorsUsed"],
-                        $this->_header["ColorsImportant"]
-                );
-                $this->_entry = array(
-                        "Width" => $width,
-                        "Height" => $height,
-                        "ColorCount" => $colorCount,
-                        "Reserved" => 0,
-                        "Planes" => 1,
-                        "BitCount" => $bitCount,
-                        "SizeInBytes" => $this->_header["Size"] + $this->_header["ImageSize"],
-                        "FileOffset" => -1,
-                );
-                $this->_entryIconFormat = ""; // This won't get set until it's needed with the offset.
-                $this->_imageResource = $imageResource;
-
-                // Make png if width exceeds limit for old ico style
-                if ($width > $pngIfWidthExceeds) {
-                        // I wish there were a better way to get the info than this.  If anyone needs a version that doesn't use OB, I can have one that creates a TMP file.
-                        ob_start();
-                        imagepng($imageResource);
-                        $imageAsPng = ob_get_contents();
-                        ob_end_clean();
-                        $this->_headerIconFormat = "";
-                        $this->_imageIconFormat = $imageAsPng;
-                }
-
-
-        }
-        function _createImageResource() {
-                if ($newImage = @imagecreatefromstring($this->_headerIconFormat.$this->_imageIconFormat)) {
-                        // Vista supports PNG.
-                        $this->_headerIconFormat = "";
-                        $this->_imageIconFormat = $this->_headerIconFormat.$this->_imageIconFormat;
-                        imagesavealpha($newImage, true);
-                        imagealphablending($newImage, false);
-                        $this->_imageResource = $newImage;
-                } elseif ($this->_entry["Height"] <= 1024 && $this->_entry["Width"] <= 1024) {
-                        $newImage = imagecreatetruecolor($this->_entry["Width"], $this->_entry["Height"]);
-                        imagesavealpha($newImage, true);
-                        imagealphablending($newImage, false);
-                        $readPosition = 0;
-                        $palette = array();
-                        if ($this->_header["BitCount"] < 24) {
-                                // Read Palette for low bitcounts
-                                $colorsInPalette = $this->_header["ColorsUsed"]?$this->_header["ColorsUsed"]:$this->_entry["ColorCount"];
-                                for ($t = 0; $t < pow(2, $this->_header["BitCount"]); $t++) {
-                                        $blue = ord($this->_imageIconFormat[$readPosition++]);
-                                        $green = ord($this->_imageIconFormat[$readPosition++]);
-                                        $red = ord($this->_imageIconFormat[$readPosition++]);
-                                        $readPosition++; // Unused "Reserved" value.
-                                                $existingPaletteEntry = imagecolorexactalpha($newImage, $red, $green, $blue, 0);
-                                                if ($existingPaletteEntry >= 0) {
-                                                        $palette[] = $existingPaletteEntry;
-                                                } else {
-                                                        $palette[] = imagecolorallocatealpha($newImage, $red, $green, $blue, 0);
-                                                }
-                                }
-                                // XOR
-                                for ($y = 0; $y < $this->_entry["Height"]; $y++) {
-                                        $colors = array();
-                                        for ($x = 0; $x < $this->_entry["Width"]; $x++) {
-                                                if ($this->_header["BitCount"] < 8) {
-                                                        $color = array_shift($colors);
-                                                        if (is_null($color)) {
-                                                                $byte = ord($this->_imageIconFormat[$readPosition++]);
-                                                                $tmp_color = 0;
-                                                                for ($t = 7; $t >= 0; $t--) {
-                                                                        $bit_value = pow(2, $t);
-                                                                        $bit = floor($byte / $bit_value);
-                                                                        $byte = $byte - ($bit * $bit_value);
-                                                                        $tmp_color += $bit * pow(2, $t%$this->_header["BitCount"]);
-                                                                        if ($t%$this->_header["BitCount"] == 0) {
-                                                                                array_push($colors, $tmp_color);
-                                                                                $tmp_color = 0;
-                                                                        }
-                                                                }
-                                                                $color = array_shift($colors);
-                                                        }
-                                                } else {
-                                                        $color = ord($this->_imageIconFormat[$readPosition++]);
-                                                }
-                                                imagesetpixel($newImage, $x, $this->_entry["Height"]-$y-1, $palette[$color]) or die("can't set pixel");
-                                        }
-                                        // All rows end on the 32 bit
-                                        if ($readPosition%4) $readPosition += 4-($readPosition%4);
-                                }
-                        } else {
-                                // BitCount >= 24, No Palette.
-                                // marking position because some icons mark all pixels transparent when using an AND map.
-                                $markPosition = $readPosition;
-                                $retry = true;
-                                $ignoreAlpha = false;
-                                while ($retry) {
-                                        $alphas = array();
-                                        $retry = false;
-                                        for ($y = 0; $y < $this->_entry["Height"] and !$retry; $y++) {
-                                                for ($x = 0; $x < $this->_entry["Width"] and !$retry; $x++) {
-                                                        $blue = ord($this->_imageIconFormat[$readPosition++]);
-                                                        $green = ord($this->_imageIconFormat[$readPosition++]);
-                                                        $red = ord($this->_imageIconFormat[$readPosition++]);
-                                                        if ($this->_header["BitCount"] < 32) {
-                                                                $alpha = 0;
-                                                        } elseif($ignoreAlpha) {
-                                                                $alpha = 0;
-                                                                $readPosition++;
-                                                        } else {
-                                                                $alpha = ord($this->_imageIconFormat[$readPosition++]);
-                                                                $alphas[$alpha] = $alpha;
-                                                                $alpha = 127-round($alpha/255*127);
-                                                        }
-                                                        $paletteEntry = imagecolorexactalpha($newImage, $red, $green, $blue, $alpha);
-                                                        if ($paletteEntry < 0) {
-                                                                $paletteEntry = imagecolorallocatealpha($newImage, $red, $green, $blue, $alpha);
-                                                        }
-                                                        imagesetpixel($newImage, $x, $this->_entry["Height"]-$y-1, $paletteEntry) or die("can't set pixel");
-                                                }
-                                                if ($readPosition%4) $readPosition += 4-($readPosition%4);
-                                        }
-                                        if ($this->_header["BitCount"] == 32 && isset($alphas[0]) && count($alphas) == 1) {
-                                                $retry = true;
-                                                $readPosition = $markPosition;
-                                                $ignoreAlpha = true;
-                                        }
-                                }
-
-                        }
-                        // AND map
-                        if ($this->_header["BitCount"] < 32 || $ignoreAlpha) {
-                                // Bitcount == 32, No AND (if using alpha).
-                                $palette[-1] = imagecolorallocatealpha($newImage, 0, 0, 0, 127);
-                                imagecolortransparent($newImage, $palette[-1]);
-                                for ($y = 0; $y < $this->_entry["Height"]; $y++) {
-                                        $colors = array();
-                                        for ($x = 0; $x < $this->_entry["Width"]; $x++) {
-                                                $color = array_shift($colors);
-                                                if (is_null($color)) {
-                                                        $byte = ord($this->_imageIconFormat[$readPosition++]);
-                                                        $tmp_color = 0;
-                                                        for ($t = 7; $t >= 0; $t--) {
-                                                                $bit_value = pow(2, $t);
-                                                                $bit = floor($byte / $bit_value);
-                                                                $byte = $byte - ($bit * $bit_value);
-                                                                array_push($colors, $bit);
-                                                        }
-                                                        $color = array_shift($colors);
-                                                }
-                                                if ($color) {
-                                                        imagesetpixel($newImage, $x, $this->_entry["Height"]-$y-1, $palette[-1]) or die("can't set pixel");
-                                                }
-                                        }
-                                        // All rows end on the 32 bit.
-                                        if ($readPosition%4) $readPosition += 4-($readPosition%4);
-                                }
-                        }
-                        if ($this->_header["BitCount"] < 24) {
-                                imagetruecolortopalette($newImage, true, pow(2, $this->_header["BitCount"]));
-                        }
-                }
-                $this->_imageResource = $newImage;
-        }
-        // this function expects that $_entry, $_header and $_imageIconFormat have already been read, specifically from readImageFromICO.
-        // Don't call this function except from there.
-        function readImageFromICO($filePointer, $entryOffset) {
-                $tmpPosition = ftell($filePointer); // So any other applications won't loose their position.
-                // Get the entry.
-                fseek($filePointer, $entryOffset);
-                $this->_entryIconFormat = fread($filePointer, 16);
-                $this->_entry = unpack("CWidth/CHeight/CColorCount/CReserved/SPlanes/SBitCount/LSizeInBytes/LFileOffset", $this->_entryIconFormat);
-
-                                        if ($this->_entry["SizeInBytes"] > 16384)
-                                                return false;
-
-                // Position the file pointer.
-                fseek($filePointer, $this->_entry["FileOffset"]);
-
-                // Get the header.
-                $this->_headerIconFormat = fread($filePointer, 40);
-        $this->_header = unpack("LSize/LWidth/LHeight/SPlanes/SBitCount/LCompression/LImageSize/LXpixelsPerM/LYpixelsPerM/LColorsUsed/LColorsImportant", $this->_headerIconFormat);
-
-                // Get the image.
-                $this->_imageIconFormat = @fread($filePointer, $this->_entry["SizeInBytes"] - strlen($this->_headerIconFormat));
-                fseek($filePointer, $tmpPosition); // So any other applications won't loose their position.
-
-                if ($newImage = @imagecreatefromstring($this->_headerIconFormat.$this->_imageIconFormat)) {
-                        // This is a PNG, the supposed header information is useless.
-                        $this->_header = array (
-                                "Size" => 0,
-                                "Width" => imagesx($newImage),
-                                "Height" => imagesy($newImage) * 2,
-                                "Planes" => 0,
-                                "BitCount" => 32,
-                                "Compression" => 0,
-                                "ImageSize" => strlen($this->_imageIconFormat),
-                                "XpixelsPerM" => 0,
-                                "YpixelsPerM" => 0,
-                                "ColorsUsed" => 0,
-                                "ColorsImportant" => 0,
-                        );
-                        imagedestroy($newImage);
-                }
-
-                // Support for larger images requires entry marked as 0.
-                if ($this->_entry["Width"] == 0) {
-                        $this->_entry["Width"] = $this->_header["Width"];
-                }
-                if ($this->_entry["Height"] == 0) {
-                        $this->_entry["Height"] = $this->_header["Height"]/2;
-                                        }
-
-                                        return true;
-        }
-        function getHeader() {
-                return $this->_header;
-        }
-        function getEntry() {
-                return $this->_entry;
-        }
-        function floIconImage() {
-        }
-        function getHeaderSize() {
-                return strlen($this->_headerIconFormat);
-        }
-        function getSize() {
-                return strlen($this->_imageIconFormat);
-        }
-        function getImageResource() {
-                if (!$this->_imageResource) $this->_createImageResource();
-                return $this->_imageResource;
-        }
-        function dealocateResource() {
-                @imagedestroy($this->_imageResource);
-                $this->_imageResource = null;
-        }
-}
-?>
index 7995460b521583966c0a4811cb1e5b62033d35c3..9001e3a2e19ebfbcd14e7048c1a07a2c5afb2b72 100644 (file)
@@ -1101,7 +1101,7 @@ if (!class_exists('QRcode', false)) {
                 protected function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly=false) {
                        $b = 0;
                        $bitMask = array();
-                       $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
+                       $bitMask = $this->generateMaskNo($maskNo, $width, $s);
                        if ($maskGenOnly) {
                                return;
                        }
@@ -1399,7 +1399,7 @@ if (!class_exists('QRcode', false)) {
                                $p += 2;
                        }
                        $this->items = $this->appendNewInputItem($this->items, QR_MODE_KJ, $p, str_split($this->dataStr));
-                       return $run;
+                       return $p;
                }
 
                /**
@@ -1470,7 +1470,7 @@ if (!class_exists('QRcode', false)) {
                                                break;
                                        }
                                        case QR_MODE_KJ: {
-                                               if ($hint == QR_MODE_KJ) {
+                                               if ($this->hint == QR_MODE_KJ) {
                                                        $length = $this->eatKanji();
                                                } else {
                                                        $length = $this->eat8();
@@ -1499,7 +1499,7 @@ if (!class_exists('QRcode', false)) {
                        $stringLen = strlen($this->dataStr);
                        $p = 0;
                        while ($p < $stringLen) {
-                               $mode = $this->identifyMode(substr($this->dataStr, $p), $this->hint);
+                               $mode = $this->identifyMode(substr($this->dataStr, $p));
                                if ($mode == QR_MODE_KJ) {
                                        $p += 2;
                                } else {
index 80adb9df239cb4cbd05cc51295f5eef5e5bbf8e7..02b8776392394de68a7820c64a6adad35a186a80 100644 (file)
                     case QR_MODE_NUM: $length = $this->eatNum(); break;\r
                     case QR_MODE_AN:  $length = $this->eatAn(); break;\r
                     case QR_MODE_KANJI:\r
-                        if ($hint == QR_MODE_KANJI)\r
+                        if ($this->modeHint == QR_MODE_KANJI)\r
                                 $length = $this->eatKanji();\r
                         else    $length = $this->eat8();\r
                         break;\r
             $p = 0;\r
             \r
             while ($p<$stringLen) {\r
-                $mode = self::identifyMode(substr($this->dataStr, $p), $this->modeHint);\r
+                $mode = self::identifyMode(substr($this->dataStr, $p));\r
                 if($mode == QR_MODE_KANJI) {\r
                     $p += 2;\r
                 } else {\r
                 if (file_exists($fileName)) {\r
                     $bitMask = self::unserial(file_get_contents($fileName));\r
                 } else {\r
-                    $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);\r
+                    $bitMask = $this->generateMaskNo($maskNo, $width, $s);\r
                     if (!file_exists(QR_CACHE_DIR.'mask_'.$maskNo))\r
                         mkdir(QR_CACHE_DIR.'mask_'.$maskNo);\r
                     file_put_contents($fileName, self::serial($bitMask));\r
                 }\r
             } else {\r
-                $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);\r
+                $bitMask = $this->generateMaskNo($maskNo, $width, $s);\r
             }\r
 \r
             if ($maskGenOnly)\r
         //----------------------------------------------------------------------\r
         public function getCode()\r
         {\r
-            $ret;\r
+            $ret = 0;\r
 \r
             if($this->count < $this->dataLength) {\r
                 $row = $this->count % $this->blocks;\r
             $input = new QRinput($version, $level);\r
             if($input == NULL) return NULL;\r
 \r
-            $ret = $input->append($input, QR_MODE_8, strlen($string), str_split($string));\r
+            $ret = $input->append(QR_MODE_8, strlen($string), str_split($string));\r
             if($ret < 0) {\r
                 unset($input);\r
                 return NULL;\r
index 4b77a5bdd4c298b3516df40150e5aa2b32aff9f9..5bdeaec20a4cc49da4974ef8d596c2ff365cc3e8 100644 (file)
         //----------------------------------------------------------------------\r
         public function getCode()\r
         {\r
-            $ret;\r
+            $ret = 0;\r
 \r
             if($this->count < $this->dataLength) {\r
                 $row = $this->count % $this->blocks;\r
index b14d7ae161f58c0d59f3295884228ca46392e451..43d653ce3f3510c3a3aa916bd468edfe5610a3d9 100644 (file)
                 if (file_exists($fileName)) {\r
                     $bitMask = self::unserial(file_get_contents($fileName));\r
                 } else {\r
-                    $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);\r
+                    $bitMask = $this->generateMaskNo($maskNo, $width, $s);\r
                     if (!file_exists(QR_CACHE_DIR.'mask_'.$maskNo))\r
                         mkdir(QR_CACHE_DIR.'mask_'.$maskNo);\r
                     file_put_contents($fileName, self::serial($bitMask));\r
                 }\r
             } else {\r
-                $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);\r
+                $bitMask = $this->generateMaskNo($maskNo, $width, $s);\r
             }\r
 \r
             if ($maskGenOnly)\r
index d75b827371cc9fad4f4b940d5d152846ca943ced..1f9f65c3bd9d7fae2e0577414a58c9cfc533138d 100644 (file)
             if($ret < 0)\r
                 return -1;\r
 \r
-            return $run;\r
+            return $ret;\r
         }\r
 \r
         //----------------------------------------------------------------------\r
                     case QR_MODE_NUM: $length = $this->eatNum(); break;\r
                     case QR_MODE_AN:  $length = $this->eatAn(); break;\r
                     case QR_MODE_KANJI:\r
-                        if ($hint == QR_MODE_KANJI)\r
+                        if ($this->modeHint == QR_MODE_KANJI)\r
                                 $length = $this->eatKanji();\r
                         else    $length = $this->eat8();\r
                         break;\r
             $p = 0;\r
             \r
             while ($p<$stringLen) {\r
-                $mode = self::identifyMode(substr($this->dataStr, $p), $this->modeHint);\r
+                $mode = self::identifyMode(substr($this->dataStr, $p));\r
                 if($mode == QR_MODE_KANJI) {\r
                     $p += 2;\r
                 } else {\r
                 \r
             return $split->splitString();\r
         }\r
-    }
\ No newline at end of file
+    }
diff --git a/lib/simplepie/simplepie.inc b/lib/simplepie/simplepie.inc
deleted file mode 100644 (file)
index 332c2e7..0000000
+++ /dev/null
@@ -1,17772 +0,0 @@
-<?php
-/**
- * SimplePie
- *
- * A PHP-Based RSS and Atom Feed Framework.
- * Takes the hard work out of managing a complete RSS/Atom solution.
- *
- * Please note: This file is automatically generated by a build script. The
- * full original source is always available from http://simplepie.org/
- *
- * Copyright (c) 2004-2012, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification, are
- * permitted provided that the following conditions are met:
- *
- *     * Redistributions of source code must retain the above copyright notice, this list of
- *       conditions and the following disclaimer.
- *
- *     * Redistributions in binary form must reproduce the above copyright notice, this list
- *       of conditions and the following disclaimer in the documentation and/or other materials
- *       provided with the distribution.
- *
- *     * Neither the name of the SimplePie Team nor the names of its contributors may be used
- *       to endorse or promote products derived from this software without specific prior
- *       written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
- * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @package SimplePie
- * @version 1.3.1
- * @copyright 2004-2012 Ryan Parman, Geoffrey Sneddon, Ryan McCue
- * @author Ryan Parman
- * @author Geoffrey Sneddon
- * @author Ryan McCue
- * @link http://simplepie.org/ SimplePie
- * @license http://www.opensource.org/licenses/bsd-license.php BSD License
- */
-
-/**
- * SimplePie Name
- */
-define('SIMPLEPIE_NAME', 'SimplePie');
-
-/**
- * SimplePie Version
- */
-define('SIMPLEPIE_VERSION', '1.3.1');
-
-/**
- * SimplePie Build
- * @todo Hardcode for release (there's no need to have to call SimplePie_Misc::get_build() only every load of simplepie.inc)
- */
-define('SIMPLEPIE_BUILD', '20121030175911');
-
-/**
- * SimplePie Website URL
- */
-define('SIMPLEPIE_URL', 'http://simplepie.org');
-
-/**
- * SimplePie Useragent
- * @see SimplePie::set_useragent()
- */
-define('SIMPLEPIE_USERAGENT', SIMPLEPIE_NAME . '/' . SIMPLEPIE_VERSION . ' (Feed Parser; ' . SIMPLEPIE_URL . '; Allow like Gecko) Build/' . SIMPLEPIE_BUILD);
-
-/**
- * SimplePie Linkback
- */
-define('SIMPLEPIE_LINKBACK', '<a href="' . SIMPLEPIE_URL . '" title="' . SIMPLEPIE_NAME . ' ' . SIMPLEPIE_VERSION . '">' . SIMPLEPIE_NAME . '</a>');
-
-/**
- * No Autodiscovery
- * @see SimplePie::set_autodiscovery_level()
- */
-define('SIMPLEPIE_LOCATOR_NONE', 0);
-
-/**
- * Feed Link Element Autodiscovery
- * @see SimplePie::set_autodiscovery_level()
- */
-define('SIMPLEPIE_LOCATOR_AUTODISCOVERY', 1);
-
-/**
- * Local Feed Extension Autodiscovery
- * @see SimplePie::set_autodiscovery_level()
- */
-define('SIMPLEPIE_LOCATOR_LOCAL_EXTENSION', 2);
-
-/**
- * Local Feed Body Autodiscovery
- * @see SimplePie::set_autodiscovery_level()
- */
-define('SIMPLEPIE_LOCATOR_LOCAL_BODY', 4);
-
-/**
- * Remote Feed Extension Autodiscovery
- * @see SimplePie::set_autodiscovery_level()
- */
-define('SIMPLEPIE_LOCATOR_REMOTE_EXTENSION', 8);
-
-/**
- * Remote Feed Body Autodiscovery
- * @see SimplePie::set_autodiscovery_level()
- */
-define('SIMPLEPIE_LOCATOR_REMOTE_BODY', 16);
-
-/**
- * All Feed Autodiscovery
- * @see SimplePie::set_autodiscovery_level()
- */
-define('SIMPLEPIE_LOCATOR_ALL', 31);
-
-/**
- * No known feed type
- */
-define('SIMPLEPIE_TYPE_NONE', 0);
-
-/**
- * RSS 0.90
- */
-define('SIMPLEPIE_TYPE_RSS_090', 1);
-
-/**
- * RSS 0.91 (Netscape)
- */
-define('SIMPLEPIE_TYPE_RSS_091_NETSCAPE', 2);
-
-/**
- * RSS 0.91 (Userland)
- */
-define('SIMPLEPIE_TYPE_RSS_091_USERLAND', 4);
-
-/**
- * RSS 0.91 (both Netscape and Userland)
- */
-define('SIMPLEPIE_TYPE_RSS_091', 6);
-
-/**
- * RSS 0.92
- */
-define('SIMPLEPIE_TYPE_RSS_092', 8);
-
-/**
- * RSS 0.93
- */
-define('SIMPLEPIE_TYPE_RSS_093', 16);
-
-/**
- * RSS 0.94
- */
-define('SIMPLEPIE_TYPE_RSS_094', 32);
-
-/**
- * RSS 1.0
- */
-define('SIMPLEPIE_TYPE_RSS_10', 64);
-
-/**
- * RSS 2.0
- */
-define('SIMPLEPIE_TYPE_RSS_20', 128);
-
-/**
- * RDF-based RSS
- */
-define('SIMPLEPIE_TYPE_RSS_RDF', 65);
-
-/**
- * Non-RDF-based RSS (truly intended as syndication format)
- */
-define('SIMPLEPIE_TYPE_RSS_SYNDICATION', 190);
-
-/**
- * All RSS
- */
-define('SIMPLEPIE_TYPE_RSS_ALL', 255);
-
-/**
- * Atom 0.3
- */
-define('SIMPLEPIE_TYPE_ATOM_03', 256);
-
-/**
- * Atom 1.0
- */
-define('SIMPLEPIE_TYPE_ATOM_10', 512);
-
-/**
- * All Atom
- */
-define('SIMPLEPIE_TYPE_ATOM_ALL', 768);
-
-/**
- * All feed types
- */
-define('SIMPLEPIE_TYPE_ALL', 1023);
-
-/**
- * No construct
- */
-define('SIMPLEPIE_CONSTRUCT_NONE', 0);
-
-/**
- * Text construct
- */
-define('SIMPLEPIE_CONSTRUCT_TEXT', 1);
-
-/**
- * HTML construct
- */
-define('SIMPLEPIE_CONSTRUCT_HTML', 2);
-
-/**
- * XHTML construct
- */
-define('SIMPLEPIE_CONSTRUCT_XHTML', 4);
-
-/**
- * base64-encoded construct
- */
-define('SIMPLEPIE_CONSTRUCT_BASE64', 8);
-
-/**
- * IRI construct
- */
-define('SIMPLEPIE_CONSTRUCT_IRI', 16);
-
-/**
- * A construct that might be HTML
- */
-define('SIMPLEPIE_CONSTRUCT_MAYBE_HTML', 32);
-
-/**
- * All constructs
- */
-define('SIMPLEPIE_CONSTRUCT_ALL', 63);
-
-/**
- * Don't change case
- */
-define('SIMPLEPIE_SAME_CASE', 1);
-
-/**
- * Change to lowercase
- */
-define('SIMPLEPIE_LOWERCASE', 2);
-
-/**
- * Change to uppercase
- */
-define('SIMPLEPIE_UPPERCASE', 4);
-
-/**
- * PCRE for HTML attributes
- */
-define('SIMPLEPIE_PCRE_HTML_ATTRIBUTE', '((?:[\x09\x0A\x0B\x0C\x0D\x20]+[^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3D\x3E]*(?:[\x09\x0A\x0B\x0C\x0D\x20]*=[\x09\x0A\x0B\x0C\x0D\x20]*(?:"(?:[^"]*)"|\'(?:[^\']*)\'|(?:[^\x09\x0A\x0B\x0C\x0D\x20\x22\x27\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x3E]*)?))?)*)[\x09\x0A\x0B\x0C\x0D\x20]*');
-
-/**
- * PCRE for XML attributes
- */
-define('SIMPLEPIE_PCRE_XML_ATTRIBUTE', '((?:\s+(?:(?:[^\s:]+:)?[^\s:]+)\s*=\s*(?:"(?:[^"]*)"|\'(?:[^\']*)\'))*)\s*');
-
-/**
- * XML Namespace
- */
-define('SIMPLEPIE_NAMESPACE_XML', 'http://www.w3.org/XML/1998/namespace');
-
-/**
- * Atom 1.0 Namespace
- */
-define('SIMPLEPIE_NAMESPACE_ATOM_10', 'http://www.w3.org/2005/Atom');
-
-/**
- * Atom 0.3 Namespace
- */
-define('SIMPLEPIE_NAMESPACE_ATOM_03', 'http://purl.org/atom/ns#');
-
-/**
- * RDF Namespace
- */
-define('SIMPLEPIE_NAMESPACE_RDF', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#');
-
-/**
- * RSS 0.90 Namespace
- */
-define('SIMPLEPIE_NAMESPACE_RSS_090', 'http://my.netscape.com/rdf/simple/0.9/');
-
-/**
- * RSS 1.0 Namespace
- */
-define('SIMPLEPIE_NAMESPACE_RSS_10', 'http://purl.org/rss/1.0/');
-
-/**
- * RSS 1.0 Content Module Namespace
- */
-define('SIMPLEPIE_NAMESPACE_RSS_10_MODULES_CONTENT', 'http://purl.org/rss/1.0/modules/content/');
-
-/**
- * RSS 2.0 Namespace
- * (Stupid, I know, but I'm certain it will confuse people less with support.)
- */
-define('SIMPLEPIE_NAMESPACE_RSS_20', '');
-
-/**
- * DC 1.0 Namespace
- */
-define('SIMPLEPIE_NAMESPACE_DC_10', 'http://purl.org/dc/elements/1.0/');
-
-/**
- * DC 1.1 Namespace
- */
-define('SIMPLEPIE_NAMESPACE_DC_11', 'http://purl.org/dc/elements/1.1/');
-
-/**
- * W3C Basic Geo (WGS84 lat/long) Vocabulary Namespace
- */
-define('SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO', 'http://www.w3.org/2003/01/geo/wgs84_pos#');
-
-/**
- * GeoRSS Namespace
- */
-define('SIMPLEPIE_NAMESPACE_GEORSS', 'http://www.georss.org/georss');
-
-/**
- * Media RSS Namespace
- */
-define('SIMPLEPIE_NAMESPACE_MEDIARSS', 'http://search.yahoo.com/mrss/');
-
-/**
- * Wrong Media RSS Namespace. Caused by a long-standing typo in the spec.
- */
-define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG', 'http://search.yahoo.com/mrss');
-
-/**
- * Wrong Media RSS Namespace #2. New namespace introduced in Media RSS 1.5.
- */
-define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG2', 'http://video.search.yahoo.com/mrss');
-
-/**
- * Wrong Media RSS Namespace #3. A possible typo of the Media RSS 1.5 namespace.
- */
-define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG3', 'http://video.search.yahoo.com/mrss/');
-
-/**
- * Wrong Media RSS Namespace #4. New spec location after the RSS Advisory Board takes it over, but not a valid namespace.
- */
-define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG4', 'http://www.rssboard.org/media-rss');
-
-/**
- * Wrong Media RSS Namespace #5. A possible typo of the RSS Advisory Board URL.
- */
-define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG5', 'http://www.rssboard.org/media-rss/');
-
-/**
- * iTunes RSS Namespace
- */
-define('SIMPLEPIE_NAMESPACE_ITUNES', 'http://www.itunes.com/dtds/podcast-1.0.dtd');
-
-/**
- * XHTML Namespace
- */
-define('SIMPLEPIE_NAMESPACE_XHTML', 'http://www.w3.org/1999/xhtml');
-
-/**
- * IANA Link Relations Registry
- */
-define('SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY', 'http://www.iana.org/assignments/relation/');
-
-/**
- * No file source
- */
-define('SIMPLEPIE_FILE_SOURCE_NONE', 0);
-
-/**
- * Remote file source
- */
-define('SIMPLEPIE_FILE_SOURCE_REMOTE', 1);
-
-/**
- * Local file source
- */
-define('SIMPLEPIE_FILE_SOURCE_LOCAL', 2);
-
-/**
- * fsockopen() file source
- */
-define('SIMPLEPIE_FILE_SOURCE_FSOCKOPEN', 4);
-
-/**
- * cURL file source
- */
-define('SIMPLEPIE_FILE_SOURCE_CURL', 8);
-
-/**
- * file_get_contents() file source
- */
-define('SIMPLEPIE_FILE_SOURCE_FILE_GET_CONTENTS', 16);
-
-/**
- * SimplePie
- *
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie
-{
-       /**
-        * @var array Raw data
-        * @access private
-        */
-       public $data = array();
-
-       /**
-        * @var mixed Error string
-        * @access private
-        */
-       public $error;
-
-       /**
-        * @var object Instance of SimplePie_Sanitize (or other class)
-        * @see SimplePie::set_sanitize_class()
-        * @access private
-        */
-       public $sanitize;
-
-       /**
-        * @var string SimplePie Useragent
-        * @see SimplePie::set_useragent()
-        * @access private
-        */
-       public $useragent = SIMPLEPIE_USERAGENT;
-
-       /**
-        * @var string Feed URL
-        * @see SimplePie::set_feed_url()
-        * @access private
-        */
-       public $feed_url;
-
-       /**
-        * @var object Instance of SimplePie_File to use as a feed
-        * @see SimplePie::set_file()
-        * @access private
-        */
-       public $file;
-
-       /**
-        * @var string Raw feed data
-        * @see SimplePie::set_raw_data()
-        * @access private
-        */
-       public $raw_data;
-
-       /**
-        * @var int Timeout for fetching remote files
-        * @see SimplePie::set_timeout()
-        * @access private
-        */
-       public $timeout = 10;
-
-       /**
-        * @var bool Forces fsockopen() to be used for remote files instead
-        * of cURL, even if a new enough version is installed
-        * @see SimplePie::force_fsockopen()
-        * @access private
-        */
-       public $force_fsockopen = false;
-
-       /**
-        * @var bool Force the given data/URL to be treated as a feed no matter what
-        * it appears like
-        * @see SimplePie::force_feed()
-        * @access private
-        */
-       public $force_feed = false;
-
-       /**
-        * @var bool Enable/Disable Caching
-        * @see SimplePie::enable_cache()
-        * @access private
-        */
-       public $cache = true;
-
-       /**
-        * @var int Cache duration (in seconds)
-        * @see SimplePie::set_cache_duration()
-        * @access private
-        */
-       public $cache_duration = 3600;
-
-       /**
-        * @var int Auto-discovery cache duration (in seconds)
-        * @see SimplePie::set_autodiscovery_cache_duration()
-        * @access private
-        */
-       public $autodiscovery_cache_duration = 604800; // 7 Days.
-
-       /**
-        * @var string Cache location (relative to executing script)
-        * @see SimplePie::set_cache_location()
-        * @access private
-        */
-       public $cache_location = './cache';
-
-       /**
-        * @var string Function that creates the cache filename
-        * @see SimplePie::set_cache_name_function()
-        * @access private
-        */
-       public $cache_name_function = 'md5';
-
-       /**
-        * @var bool Reorder feed by date descending
-        * @see SimplePie::enable_order_by_date()
-        * @access private
-        */
-       public $order_by_date = true;
-
-       /**
-        * @var mixed Force input encoding to be set to the follow value
-        * (false, or anything type-cast to false, disables this feature)
-        * @see SimplePie::set_input_encoding()
-        * @access private
-        */
-       public $input_encoding = false;
-
-       /**
-        * @var int Feed Autodiscovery Level
-        * @see SimplePie::set_autodiscovery_level()
-        * @access private
-        */
-       public $autodiscovery = SIMPLEPIE_LOCATOR_ALL;
-
-       /**
-        * Class registry object
-        *
-        * @var SimplePie_Registry
-        */
-       public $registry;
-
-       /**
-        * @var int Maximum number of feeds to check with autodiscovery
-        * @see SimplePie::set_max_checked_feeds()
-        * @access private
-        */
-       public $max_checked_feeds = 10;
-
-       /**
-        * @var array All the feeds found during the autodiscovery process
-        * @see SimplePie::get_all_discovered_feeds()
-        * @access private
-        */
-       public $all_discovered_feeds = array();
-
-       /**
-        * @var string Web-accessible path to the handler_image.php file.
-        * @see SimplePie::set_image_handler()
-        * @access private
-        */
-       public $image_handler = '';
-
-       /**
-        * @var array Stores the URLs when multiple feeds are being initialized.
-        * @see SimplePie::set_feed_url()
-        * @access private
-        */
-       public $multifeed_url = array();
-
-       /**
-        * @var array Stores SimplePie objects when multiple feeds initialized.
-        * @access private
-        */
-       public $multifeed_objects = array();
-
-       /**
-        * @var array Stores the get_object_vars() array for use with multifeeds.
-        * @see SimplePie::set_feed_url()
-        * @access private
-        */
-       public $config_settings = null;
-
-       /**
-        * @var integer Stores the number of items to return per-feed with multifeeds.
-        * @see SimplePie::set_item_limit()
-        * @access private
-        */
-       public $item_limit = 0;
-
-       /**
-        * @var array Stores the default attributes to be stripped by strip_attributes().
-        * @see SimplePie::strip_attributes()
-        * @access private
-        */
-       public $strip_attributes = array('bgsound', 'class', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc');
-
-       /**
-        * @var array Stores the default tags to be stripped by strip_htmltags().
-        * @see SimplePie::strip_htmltags()
-        * @access private
-        */
-       public $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style');
-
-       /**
-        * The SimplePie class contains feed level data and options
-        *
-        * To use SimplePie, create the SimplePie object with no parameters. You can
-        * then set configuration options using the provided methods. After setting
-        * them, you must initialise the feed using $feed->init(). At that point the
-        * object's methods and properties will be available to you.
-        *
-        * Previously, it was possible to pass in the feed URL along with cache
-        * options directly into the constructor. This has been removed as of 1.3 as
-        * it caused a lot of confusion.
-        *
-        * @since 1.0 Preview Release
-        */
-       public function __construct()
-       {
-               if (version_compare(PHP_VERSION, '5.2', '<'))
-               {
-                       trigger_error('PHP 4.x, 5.0 and 5.1 are no longer supported. Please upgrade to PHP 5.2 or newer.');
-                       die();
-               }
-
-               // Other objects, instances created here so we can set options on them
-               $this->sanitize = new SimplePie_Sanitize();
-               $this->registry = new SimplePie_Registry();
-
-               if (func_num_args() > 0)
-               {
-                       $level = defined('E_USER_DEPRECATED') ? E_USER_DEPRECATED : E_USER_WARNING;
-                       trigger_error('Passing parameters to the constructor is no longer supported. Please use set_feed_url(), set_cache_location(), and set_cache_location() directly.', $level);
-
-                       $args = func_get_args();
-                       switch (count($args)) {
-                               case 3:
-                                       $this->set_cache_duration($args[2]);
-                               case 2:
-                                       $this->set_cache_location($args[1]);
-                               case 1:
-                                       $this->set_feed_url($args[0]);
-                                       $this->init();
-                       }
-               }
-       }
-
-       /**
-        * Used for converting object to a string
-        */
-       public function __toString()
-       {
-               return md5(serialize($this->data));
-       }
-
-       /**
-        * Remove items that link back to this before destroying this object
-        */
-       public function __destruct()
-       {
-               if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
-               {
-                       if (!empty($this->data['items']))
-                       {
-                               foreach ($this->data['items'] as $item)
-                               {
-                                       $item->__destruct();
-                               }
-                               unset($item, $this->data['items']);
-                       }
-                       if (!empty($this->data['ordered_items']))
-                       {
-                               foreach ($this->data['ordered_items'] as $item)
-                               {
-                                       $item->__destruct();
-                               }
-                               unset($item, $this->data['ordered_items']);
-                       }
-               }
-       }
-
-       /**
-        * Force the given data/URL to be treated as a feed
-        *
-        * This tells SimplePie to ignore the content-type provided by the server.
-        * Be careful when using this option, as it will also disable autodiscovery.
-        *
-        * @since 1.1
-        * @param bool $enable Force the given data/URL to be treated as a feed
-        */
-       public function force_feed($enable = false)
-       {
-               $this->force_feed = (bool) $enable;
-       }
-
-       /**
-        * Set the URL of the feed you want to parse
-        *
-        * This allows you to enter the URL of the feed you want to parse, or the
-        * website you want to try to use auto-discovery on. This takes priority
-        * over any set raw data.
-        *
-        * You can set multiple feeds to mash together by passing an array instead
-        * of a string for the $url. Remember that with each additional feed comes
-        * additional processing and resources.
-        *
-        * @since 1.0 Preview Release
-        * @see set_raw_data()
-        * @param string|array $url This is the URL (or array of URLs) that you want to parse.
-        */
-       public function set_feed_url($url)
-       {
-               $this->multifeed_url = array();
-               if (is_array($url))
-               {
-                       foreach ($url as $value)
-                       {
-                               $this->multifeed_url[] = $this->registry->call('Misc', 'fix_protocol', array($value, 1));
-                       }
-               }
-               else
-               {
-                       $this->feed_url = $this->registry->call('Misc', 'fix_protocol', array($url, 1));
-               }
-       }
-
-       /**
-        * Set an instance of {@see SimplePie_File} to use as a feed
-        *
-        * @param SimplePie_File &$file
-        * @return bool True on success, false on failure
-        */
-       public function set_file(&$file)
-       {
-               if ($file instanceof SimplePie_File)
-               {
-                       $this->feed_url = $file->url;
-                       $this->file =& $file;
-                       return true;
-               }
-               return false;
-       }
-
-       /**
-        * Set the raw XML data to parse
-        *
-        * Allows you to use a string of RSS/Atom data instead of a remote feed.
-        *
-        * If you have a feed available as a string in PHP, you can tell SimplePie
-        * to parse that data string instead of a remote feed. Any set feed URL
-        * takes precedence.
-        *
-        * @since 1.0 Beta 3
-        * @param string $data RSS or Atom data as a string.
-        * @see set_feed_url()
-        */
-       public function set_raw_data($data)
-       {
-               $this->raw_data = $data;
-       }
-
-       /**
-        * Set the the default timeout for fetching remote feeds
-        *
-        * This allows you to change the maximum time the feed's server to respond
-        * and send the feed back.
-        *
-        * @since 1.0 Beta 3
-        * @param int $timeout The maximum number of seconds to spend waiting to retrieve a feed.
-        */
-       public function set_timeout($timeout = 10)
-       {
-               $this->timeout = (int) $timeout;
-       }
-
-       /**
-        * Force SimplePie to use fsockopen() instead of cURL
-        *
-        * @since 1.0 Beta 3
-        * @param bool $enable Force fsockopen() to be used
-        */
-       public function force_fsockopen($enable = false)
-       {
-               $this->force_fsockopen = (bool) $enable;
-       }
-
-       /**
-        * Enable/disable caching in SimplePie.
-        *
-        * This option allows you to disable caching all-together in SimplePie.
-        * However, disabling the cache can lead to longer load times.
-        *
-        * @since 1.0 Preview Release
-        * @param bool $enable Enable caching
-        */
-       public function enable_cache($enable = true)
-       {
-               $this->cache = (bool) $enable;
-       }
-
-       /**
-        * Set the length of time (in seconds) that the contents of a feed will be
-        * cached
-        *
-        * @param int $seconds The feed content cache duration
-        */
-       public function set_cache_duration($seconds = 3600)
-       {
-               $this->cache_duration = (int) $seconds;
-       }
-
-       /**
-        * Set the length of time (in seconds) that the autodiscovered feed URL will
-        * be cached
-        *
-        * @param int $seconds The autodiscovered feed URL cache duration.
-        */
-       public function set_autodiscovery_cache_duration($seconds = 604800)
-       {
-               $this->autodiscovery_cache_duration = (int) $seconds;
-       }
-
-       /**
-        * Set the file system location where the cached files should be stored
-        *
-        * @param string $location The file system location.
-        */
-       public function set_cache_location($location = './cache')
-       {
-               $this->cache_location = (string) $location;
-       }
-
-       /**
-        * Set whether feed items should be sorted into reverse chronological order
-        *
-        * @param bool $enable Sort as reverse chronological order.
-        */
-       public function enable_order_by_date($enable = true)
-       {
-               $this->order_by_date = (bool) $enable;
-       }
-
-       /**
-        * Set the character encoding used to parse the feed
-        *
-        * This overrides the encoding reported by the feed, however it will fall
-        * back to the normal encoding detection if the override fails
-        *
-        * @param string $encoding Character encoding
-        */
-       public function set_input_encoding($encoding = false)
-       {
-               if ($encoding)
-               {
-                       $this->input_encoding = (string) $encoding;
-               }
-               else
-               {
-                       $this->input_encoding = false;
-               }
-       }
-
-       /**
-        * Set how much feed autodiscovery to do
-        *
-        * @see SIMPLEPIE_LOCATOR_NONE
-        * @see SIMPLEPIE_LOCATOR_AUTODISCOVERY
-        * @see SIMPLEPIE_LOCATOR_LOCAL_EXTENSION
-        * @see SIMPLEPIE_LOCATOR_LOCAL_BODY
-        * @see SIMPLEPIE_LOCATOR_REMOTE_EXTENSION
-        * @see SIMPLEPIE_LOCATOR_REMOTE_BODY
-        * @see SIMPLEPIE_LOCATOR_ALL
-        * @param int $level Feed Autodiscovery Level (level can be a combination of the above constants, see bitwise OR operator)
-        */
-       public function set_autodiscovery_level($level = SIMPLEPIE_LOCATOR_ALL)
-       {
-               $this->autodiscovery = (int) $level;
-       }
-
-       /**
-        * Get the class registry
-        *
-        * Use this to override SimplePie's default classes
-        * @see SimplePie_Registry
-        * @return SimplePie_Registry
-        */
-       public function &get_registry()
-       {
-               return $this->registry;
-       }
-
-       /**#@+
-        * Useful when you are overloading or extending SimplePie's default classes.
-        *
-        * @deprecated Use {@see get_registry()} instead
-        * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
-        * @param string $class Name of custom class
-        * @return boolean True on success, false otherwise
-        */
-       /**
-        * Set which class SimplePie uses for caching
-        */
-       public function set_cache_class($class = 'SimplePie_Cache')
-       {
-               return $this->registry->register('Cache', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for auto-discovery
-        */
-       public function set_locator_class($class = 'SimplePie_Locator')
-       {
-               return $this->registry->register('Locator', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for XML parsing
-        */
-       public function set_parser_class($class = 'SimplePie_Parser')
-       {
-               return $this->registry->register('Parser', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for remote file fetching
-        */
-       public function set_file_class($class = 'SimplePie_File')
-       {
-               return $this->registry->register('File', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for data sanitization
-        */
-       public function set_sanitize_class($class = 'SimplePie_Sanitize')
-       {
-               return $this->registry->register('Sanitize', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for handling feed items
-        */
-       public function set_item_class($class = 'SimplePie_Item')
-       {
-               return $this->registry->register('Item', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for handling author data
-        */
-       public function set_author_class($class = 'SimplePie_Author')
-       {
-               return $this->registry->register('Author', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for handling category data
-        */
-       public function set_category_class($class = 'SimplePie_Category')
-       {
-               return $this->registry->register('Category', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for feed enclosures
-        */
-       public function set_enclosure_class($class = 'SimplePie_Enclosure')
-       {
-               return $this->registry->register('Enclosure', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for `<media:text>` captions
-        */
-       public function set_caption_class($class = 'SimplePie_Caption')
-       {
-               return $this->registry->register('Caption', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for `<media:copyright>`
-        */
-       public function set_copyright_class($class = 'SimplePie_Copyright')
-       {
-               return $this->registry->register('Copyright', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for `<media:credit>`
-        */
-       public function set_credit_class($class = 'SimplePie_Credit')
-       {
-               return $this->registry->register('Credit', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for `<media:rating>`
-        */
-       public function set_rating_class($class = 'SimplePie_Rating')
-       {
-               return $this->registry->register('Rating', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for `<media:restriction>`
-        */
-       public function set_restriction_class($class = 'SimplePie_Restriction')
-       {
-               return $this->registry->register('Restriction', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses for content-type sniffing
-        */
-       public function set_content_type_sniffer_class($class = 'SimplePie_Content_Type_Sniffer')
-       {
-               return $this->registry->register('Content_Type_Sniffer', $class, true);
-       }
-
-       /**
-        * Set which class SimplePie uses item sources
-        */
-       public function set_source_class($class = 'SimplePie_Source')
-       {
-               return $this->registry->register('Source', $class, true);
-       }
-       /**#@-*/
-
-       /**
-        * Set the user agent string
-        *
-        * @param string $ua New user agent string.
-        */
-       public function set_useragent($ua = SIMPLEPIE_USERAGENT)
-       {
-               $this->useragent = (string) $ua;
-       }
-
-       /**
-        * Set callback function to create cache filename with
-        *
-        * @param mixed $function Callback function
-        */
-       public function set_cache_name_function($function = 'md5')
-       {
-               if (is_callable($function))
-               {
-                       $this->cache_name_function = $function;
-               }
-       }
-
-       /**
-        * Set options to make SP as fast as possible
-        *
-        * Forgoes a substantial amount of data sanitization in favor of speed. This
-        * turns SimplePie into a dumb parser of feeds.
-        *
-        * @param bool $set Whether to set them or not
-        */
-       public function set_stupidly_fast($set = false)
-       {
-               if ($set)
-               {
-                       $this->enable_order_by_date(false);
-                       $this->remove_div(false);
-                       $this->strip_comments(false);
-                       $this->strip_htmltags(false);
-                       $this->strip_attributes(false);
-                       $this->set_image_handler(false);
-               }
-       }
-
-       /**
-        * Set maximum number of feeds to check with autodiscovery
-        *
-        * @param int $max Maximum number of feeds to check
-        */
-       public function set_max_checked_feeds($max = 10)
-       {
-               $this->max_checked_feeds = (int) $max;
-       }
-
-       public function remove_div($enable = true)
-       {
-               $this->sanitize->remove_div($enable);
-       }
-
-       public function strip_htmltags($tags = '', $encode = null)
-       {
-               if ($tags === '')
-               {
-                       $tags = $this->strip_htmltags;
-               }
-               $this->sanitize->strip_htmltags($tags);
-               if ($encode !== null)
-               {
-                       $this->sanitize->encode_instead_of_strip($tags);
-               }
-       }
-
-       public function encode_instead_of_strip($enable = true)
-       {
-               $this->sanitize->encode_instead_of_strip($enable);
-       }
-
-       public function strip_attributes($attribs = '')
-       {
-               if ($attribs === '')
-               {
-                       $attribs = $this->strip_attributes;
-               }
-               $this->sanitize->strip_attributes($attribs);
-       }
-
-       /**
-        * Set the output encoding
-        *
-        * Allows you to override SimplePie's output to match that of your webpage.
-        * This is useful for times when your webpages are not being served as
-        * UTF-8.  This setting will be obeyed by {@see handle_content_type()}, and
-        * is similar to {@see set_input_encoding()}.
-        *
-        * It should be noted, however, that not all character encodings can support
-        * all characters.  If your page is being served as ISO-8859-1 and you try
-        * to display a Japanese feed, you'll likely see garbled characters.
-        * Because of this, it is highly recommended to ensure that your webpages
-        * are served as UTF-8.
-        *
-        * The number of supported character encodings depends on whether your web
-        * host supports {@link http://php.net/mbstring mbstring},
-        * {@link http://php.net/iconv iconv}, or both. See
-        * {@link http://simplepie.org/wiki/faq/Supported_Character_Encodings} for
-        * more information.
-        *
-        * @param string $encoding
-        */
-       public function set_output_encoding($encoding = 'UTF-8')
-       {
-               $this->sanitize->set_output_encoding($encoding);
-       }
-
-       public function strip_comments($strip = false)
-       {
-               $this->sanitize->strip_comments($strip);
-       }
-
-       /**
-        * Set element/attribute key/value pairs of HTML attributes
-        * containing URLs that need to be resolved relative to the feed
-        *
-        * Defaults to |a|@href, |area|@href, |blockquote|@cite, |del|@cite,
-        * |form|@action, |img|@longdesc, |img|@src, |input|@src, |ins|@cite,
-        * |q|@cite
-        *
-        * @since 1.0
-        * @param array|null $element_attribute Element/attribute key/value pairs, null for default
-        */
-       public function set_url_replacements($element_attribute = null)
-       {
-               $this->sanitize->set_url_replacements($element_attribute);
-       }
-
-       /**
-        * Set the handler to enable the display of cached images.
-        *
-        * @param str $page Web-accessible path to the handler_image.php file.
-        * @param str $qs The query string that the value should be passed to.
-        */
-       public function set_image_handler($page = false, $qs = 'i')
-       {
-               if ($page !== false)
-               {
-                       $this->sanitize->set_image_handler($page . '?' . $qs . '=');
-               }
-               else
-               {
-                       $this->image_handler = '';
-               }
-       }
-
-       /**
-        * Set the limit for items returned per-feed with multifeeds
-        *
-        * @param integer $limit The maximum number of items to return.
-        */
-       public function set_item_limit($limit = 0)
-       {
-               $this->item_limit = (int) $limit;
-       }
-
-       /**
-        * Initialize the feed object
-        *
-        * This is what makes everything happen.  Period.  This is where all of the
-        * configuration options get processed, feeds are fetched, cached, and
-        * parsed, and all of that other good stuff.
-        *
-        * @return boolean True if successful, false otherwise
-        */
-       public function init()
-       {
-               // Check absolute bare minimum requirements.
-               if (!extension_loaded('xml') || !extension_loaded('pcre'))
-               {
-                       return false;
-               }
-               // Then check the xml extension is sane (i.e., libxml 2.7.x issue on PHP < 5.2.9 and libxml 2.7.0 to 2.7.2 on any version) if we don't have xmlreader.
-               elseif (!extension_loaded('xmlreader'))
-               {
-                       static $xml_is_sane = null;
-                       if ($xml_is_sane === null)
-                       {
-                               $parser_check = xml_parser_create();
-                               xml_parse_into_struct($parser_check, '<foo>&amp;</foo>', $values);
-                               xml_parser_free($parser_check);
-                               $xml_is_sane = isset($values[0]['value']);
-                       }
-                       if (!$xml_is_sane)
-                       {
-                               return false;
-                       }
-               }
-
-               if (method_exists($this->sanitize, 'set_registry'))
-               {
-                       $this->sanitize->set_registry($this->registry);
-               }
-
-               // Pass whatever was set with config options over to the sanitizer.
-               // Pass the classes in for legacy support; new classes should use the registry instead
-               $this->sanitize->pass_cache_data($this->cache, $this->cache_location, $this->cache_name_function, $this->registry->get_class('Cache'));
-               $this->sanitize->pass_file_data($this->registry->get_class('File'), $this->timeout, $this->useragent, $this->force_fsockopen);
-
-               if (!empty($this->multifeed_url))
-               {
-                       $i = 0;
-                       $success = 0;
-                       $this->multifeed_objects = array();
-                       $this->error = array();
-                       foreach ($this->multifeed_url as $url)
-                       {
-                               $this->multifeed_objects[$i] = clone $this;
-                               $this->multifeed_objects[$i]->set_feed_url($url);
-                               $single_success = $this->multifeed_objects[$i]->init();
-                               $success |= $single_success;
-                               if (!$single_success)
-                               {
-                                       $this->error[$i] = $this->multifeed_objects[$i]->error();
-                               }
-                               $i++;
-                       }
-                       return (bool) $success;
-               }
-               elseif ($this->feed_url === null && $this->raw_data === null)
-               {
-                       return false;
-               }
-
-               $this->error = null;
-               $this->data = array();
-               $this->multifeed_objects = array();
-               $cache = false;
-
-               if ($this->feed_url !== null)
-               {
-                       $parsed_feed_url = $this->registry->call('Misc', 'parse_url', array($this->feed_url));
-
-                       // Decide whether to enable caching
-                       if ($this->cache && $parsed_feed_url['scheme'] !== '')
-                       {
-                               $cache = $this->registry->call('Cache', 'get_handler', array($this->cache_location, call_user_func($this->cache_name_function, $this->feed_url), 'spc'));
-                       }
-
-                       // Fetch the data via SimplePie_File into $this->raw_data
-                       if (($fetched = $this->fetch_data($cache)) === true)
-                       {
-                               return true;
-                       }
-                       elseif ($fetched === false) {
-                               return false;
-                       }
-
-                       list($headers, $sniffed) = $fetched;
-               }
-
-               // Set up array of possible encodings
-               $encodings = array();
-
-               // First check to see if input has been overridden.
-               if ($this->input_encoding !== false)
-               {
-                       $encodings[] = $this->input_encoding;
-               }
-
-               $application_types = array('application/xml', 'application/xml-dtd', 'application/xml-external-parsed-entity');
-               $text_types = array('text/xml', 'text/xml-external-parsed-entity');
-
-               // RFC 3023 (only applies to sniffed content)
-               if (isset($sniffed))
-               {
-                       if (in_array($sniffed, $application_types) || substr($sniffed, 0, 12) === 'application/' && substr($sniffed, -4) === '+xml')
-                       {
-                               if (isset($headers['content-type']) && preg_match('/;\x20?charset=([^;]*)/i', $headers['content-type'], $charset))
-                               {
-                                       $encodings[] = strtoupper($charset[1]);
-                               }
-                               $encodings = array_merge($encodings, $this->registry->call('Misc', 'xml_encoding', array($this->raw_data, &$this->registry)));
-                               $encodings[] = 'UTF-8';
-                       }
-                       elseif (in_array($sniffed, $text_types) || substr($sniffed, 0, 5) === 'text/' && substr($sniffed, -4) === '+xml')
-                       {
-                               if (isset($headers['content-type']) && preg_match('/;\x20?charset=([^;]*)/i', $headers['content-type'], $charset))
-                               {
-                                       $encodings[] = $charset[1];
-                               }
-                               $encodings[] = 'US-ASCII';
-                       }
-                       // Text MIME-type default
-                       elseif (substr($sniffed, 0, 5) === 'text/')
-                       {
-                               $encodings[] = 'US-ASCII';
-                       }
-               }
-
-               // Fallback to XML 1.0 Appendix F.1/UTF-8/ISO-8859-1
-               $encodings = array_merge($encodings, $this->registry->call('Misc', 'xml_encoding', array($this->raw_data, &$this->registry)));
-               $encodings[] = 'UTF-8';
-               $encodings[] = 'ISO-8859-1';
-
-               // There's no point in trying an encoding twice
-               $encodings = array_unique($encodings);
-
-               // Loop through each possible encoding, till we return something, or run out of possibilities
-               foreach ($encodings as $encoding)
-               {
-                       // Change the encoding to UTF-8 (as we always use UTF-8 internally)
-                       if ($utf8_data = $this->registry->call('Misc', 'change_encoding', array($this->raw_data, $encoding, 'UTF-8')))
-                       {
-                               // Create new parser
-                               $parser = $this->registry->create('Parser');
-
-                               // If it's parsed fine
-                               if ($parser->parse($utf8_data, 'UTF-8'))
-                               {
-                                       $this->data = $parser->get_data();
-                                       if (!($this->get_type() & ~SIMPLEPIE_TYPE_NONE))
-                                       {
-                                               $this->error = "A feed could not be found at $this->feed_url. This does not appear to be a valid RSS or Atom feed.";
-                                               $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
-                                               return false;
-                                       }
-
-                                       if (isset($headers))
-                                       {
-                                               $this->data['headers'] = $headers;
-                                       }
-                                       $this->data['build'] = SIMPLEPIE_BUILD;
-
-                                       // Cache the file if caching is enabled
-                                       if ($cache && !$cache->save($this))
-                                       {
-                                               trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
-                                       }
-                                       return true;
-                               }
-                       }
-               }
-
-               if (isset($parser))
-               {
-                       // We have an error, just set SimplePie_Misc::error to it and quit
-                       $this->error = sprintf('This XML document is invalid, likely due to invalid characters. XML error: %s at line %d, column %d', $parser->get_error_string(), $parser->get_current_line(), $parser->get_current_column());
-               }
-               else
-               {
-                       $this->error = 'The data could not be converted to UTF-8. You MUST have either the iconv or mbstring extension installed. Upgrading to PHP 5.x (which includes iconv) is highly recommended.';
-               }
-
-               $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
-
-               return false;
-       }
-
-       /**
-        * Fetch the data via SimplePie_File
-        *
-        * If the data is already cached, attempt to fetch it from there instead
-        * @param SimplePie_Cache|false $cache Cache handler, or false to not load from the cache
-        * @return array|true Returns true if the data was loaded from the cache, or an array of HTTP headers and sniffed type
-        */
-       protected function fetch_data(&$cache)
-       {
-               // If it's enabled, use the cache
-               if ($cache)
-               {
-                       // Load the Cache
-                       $this->data = $cache->load();
-                       if (!empty($this->data))
-                       {
-                               // If the cache is for an outdated build of SimplePie
-                               if (!isset($this->data['build']) || $this->data['build'] !== SIMPLEPIE_BUILD)
-                               {
-                                       $cache->unlink();
-                                       $this->data = array();
-                               }
-                               // If we've hit a collision just rerun it with caching disabled
-                               elseif (isset($this->data['url']) && $this->data['url'] !== $this->feed_url)
-                               {
-                                       $cache = false;
-                                       $this->data = array();
-                               }
-                               // If we've got a non feed_url stored (if the page isn't actually a feed, or is a redirect) use that URL.
-                               elseif (isset($this->data['feed_url']))
-                               {
-                                       // If the autodiscovery cache is still valid use it.
-                                       if ($cache->mtime() + $this->autodiscovery_cache_duration > time())
-                                       {
-                                               // Do not need to do feed autodiscovery yet.
-                                               if ($this->data['feed_url'] !== $this->data['url'])
-                                               {
-                                                       $this->set_feed_url($this->data['feed_url']);
-                                                       return $this->init();
-                                               }
-
-                                               $cache->unlink();
-                                               $this->data = array();
-                                       }
-                               }
-                               // Check if the cache has been updated
-                               elseif ($cache->mtime() + $this->cache_duration < time())
-                               {
-                                       // If we have last-modified and/or etag set
-                                       if (isset($this->data['headers']['last-modified']) || isset($this->data['headers']['etag']))
-                                       {
-                                               $headers = array(
-                                                       'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
-                                               );
-                                               if (isset($this->data['headers']['last-modified']))
-                                               {
-                                                       $headers['if-modified-since'] = $this->data['headers']['last-modified'];
-                                               }
-                                               if (isset($this->data['headers']['etag']))
-                                               {
-                                                       $headers['if-none-match'] = $this->data['headers']['etag'];
-                                               }
-
-                                               $file = $this->registry->create('File', array($this->feed_url, $this->timeout/10, 5, $headers, $this->useragent, $this->force_fsockopen));
-
-                                               if ($file->success)
-                                               {
-                                                       if ($file->status_code === 304)
-                                                       {
-                                                               $cache->touch();
-                                                               return true;
-                                                       }
-                                               }
-                                               else
-                                               {
-                                                       unset($file);
-                                               }
-                                       }
-                               }
-                               // If the cache is still valid, just return true
-                               else
-                               {
-                                       $this->raw_data = false;
-                                       return true;
-                               }
-                       }
-                       // If the cache is empty, delete it
-                       else
-                       {
-                               $cache->unlink();
-                               $this->data = array();
-                       }
-               }
-               // If we don't already have the file (it'll only exist if we've opened it to check if the cache has been modified), open it.
-               if (!isset($file))
-               {
-                       if ($this->file instanceof SimplePie_File && $this->file->url === $this->feed_url)
-                       {
-                               $file =& $this->file;
-                       }
-                       else
-                       {
-                               $headers = array(
-                                       'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
-                               );
-                               $file = $this->registry->create('File', array($this->feed_url, $this->timeout, 5, $headers, $this->useragent, $this->force_fsockopen));
-                       }
-               }
-               // If the file connection has an error, set SimplePie::error to that and quit
-               if (!$file->success && !($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)))
-               {
-                       $this->error = $file->error;
-                       return !empty($this->data);
-               }
-
-               if (!$this->force_feed)
-               {
-                       // Check if the supplied URL is a feed, if it isn't, look for it.
-                       $locate = $this->registry->create('Locator', array(&$file, $this->timeout, $this->useragent, $this->max_checked_feeds));
-
-                       if (!$locate->is_feed($file))
-                       {
-                               // We need to unset this so that if SimplePie::set_file() has been called that object is untouched
-                               unset($file);
-                               try
-                               {
-                                       if (!($file = $locate->find($this->autodiscovery, $this->all_discovered_feeds)))
-                                       {
-                                               $this->error = "A feed could not be found at $this->feed_url. A feed with an invalid mime type may fall victim to this error, or " . SIMPLEPIE_NAME . " was unable to auto-discover it.. Use force_feed() if you are certain this URL is a real feed.";
-                                               $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, __FILE__, __LINE__));
-                                               return false;
-                                       }
-                               }
-                               catch (SimplePie_Exception $e)
-                               {
-                                       // This is usually because DOMDocument doesn't exist
-                                       $this->error = $e->getMessage();
-                                       $this->registry->call('Misc', 'error', array($this->error, E_USER_NOTICE, $e->getFile(), $e->getLine()));
-                                       return false;
-                               }
-                               if ($cache)
-                               {
-                                       $this->data = array('url' => $this->feed_url, 'feed_url' => $file->url, 'build' => SIMPLEPIE_BUILD);
-                                       if (!$cache->save($this))
-                                       {
-                                               trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
-                                       }
-                                       $cache = $this->registry->call('Cache', 'get_handler', array($this->cache_location, call_user_func($this->cache_name_function, $file->url), 'spc'));
-                               }
-                               $this->feed_url = $file->url;
-                       }
-                       $locate = null;
-               }
-
-               $this->raw_data = $file->body;
-
-               $headers = $file->headers;
-               $sniffer = $this->registry->create('Content_Type_Sniffer', array(&$file));
-               $sniffed = $sniffer->get_type();
-
-               return array($headers, $sniffed);
-       }
-
-       /**
-        * Get the error message for the occured error
-        *
-        * @return string|array Error message, or array of messages for multifeeds
-        */
-       public function error()
-       {
-               return $this->error;
-       }
-
-       /**
-        * Get the raw XML
-        *
-        * This is the same as the old `$feed->enable_xml_dump(true)`, but returns
-        * the data instead of printing it.
-        *
-        * @return string|boolean Raw XML data, false if the cache is used
-        */
-       public function get_raw_data()
-       {
-               return $this->raw_data;
-       }
-
-       /**
-        * Get the character encoding used for output
-        *
-        * @since Preview Release
-        * @return string
-        */
-       public function get_encoding()
-       {
-               return $this->sanitize->output_encoding;
-       }
-
-       /**
-        * Send the content-type header with correct encoding
-        *
-        * This method ensures that the SimplePie-enabled page is being served with
-        * the correct {@link http://www.iana.org/assignments/media-types/ mime-type}
-        * and character encoding HTTP headers (character encoding determined by the
-        * {@see set_output_encoding} config option).
-        *
-        * This won't work properly if any content or whitespace has already been
-        * sent to the browser, because it relies on PHP's
-        * {@link http://php.net/header header()} function, and these are the
-        * circumstances under which the function works.
-        *
-        * Because it's setting these settings for the entire page (as is the nature
-        * of HTTP headers), this should only be used once per page (again, at the
-        * top).
-        *
-        * @param string $mime MIME type to serve the page as
-        */
-       public function handle_content_type($mime = 'text/html')
-       {
-               if (!headers_sent())
-               {
-                       $header = "Content-type: $mime;";
-                       if ($this->get_encoding())
-                       {
-                               $header .= ' charset=' . $this->get_encoding();
-                       }
-                       else
-                       {
-                               $header .= ' charset=UTF-8';
-                       }
-                       header($header);
-               }
-       }
-
-       /**
-        * Get the type of the feed
-        *
-        * This returns a SIMPLEPIE_TYPE_* constant, which can be tested against
-        * using {@link http://php.net/language.operators.bitwise bitwise operators}
-        *
-        * @since 0.8 (usage changed to using constants in 1.0)
-        * @see SIMPLEPIE_TYPE_NONE Unknown.
-        * @see SIMPLEPIE_TYPE_RSS_090 RSS 0.90.
-        * @see SIMPLEPIE_TYPE_RSS_091_NETSCAPE RSS 0.91 (Netscape).
-        * @see SIMPLEPIE_TYPE_RSS_091_USERLAND RSS 0.91 (Userland).
-        * @see SIMPLEPIE_TYPE_RSS_091 RSS 0.91.
-        * @see SIMPLEPIE_TYPE_RSS_092 RSS 0.92.
-        * @see SIMPLEPIE_TYPE_RSS_093 RSS 0.93.
-        * @see SIMPLEPIE_TYPE_RSS_094 RSS 0.94.
-        * @see SIMPLEPIE_TYPE_RSS_10 RSS 1.0.
-        * @see SIMPLEPIE_TYPE_RSS_20 RSS 2.0.x.
-        * @see SIMPLEPIE_TYPE_RSS_RDF RDF-based RSS.
-        * @see SIMPLEPIE_TYPE_RSS_SYNDICATION Non-RDF-based RSS (truly intended as syndication format).
-        * @see SIMPLEPIE_TYPE_RSS_ALL Any version of RSS.
-        * @see SIMPLEPIE_TYPE_ATOM_03 Atom 0.3.
-        * @see SIMPLEPIE_TYPE_ATOM_10 Atom 1.0.
-        * @see SIMPLEPIE_TYPE_ATOM_ALL Any version of Atom.
-        * @see SIMPLEPIE_TYPE_ALL Any known/supported feed type.
-        * @return int SIMPLEPIE_TYPE_* constant
-        */
-       public function get_type()
-       {
-               if (!isset($this->data['type']))
-               {
-                       $this->data['type'] = SIMPLEPIE_TYPE_ALL;
-                       if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed']))
-                       {
-                               $this->data['type'] &= SIMPLEPIE_TYPE_ATOM_10;
-                       }
-                       elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed']))
-                       {
-                               $this->data['type'] &= SIMPLEPIE_TYPE_ATOM_03;
-                       }
-                       elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF']))
-                       {
-                               if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['channel'])
-                               || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['image'])
-                               || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item'])
-                               || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['textinput']))
-                               {
-                                       $this->data['type'] &= SIMPLEPIE_TYPE_RSS_10;
-                               }
-                               if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['channel'])
-                               || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['image'])
-                               || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item'])
-                               || isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['textinput']))
-                               {
-                                       $this->data['type'] &= SIMPLEPIE_TYPE_RSS_090;
-                               }
-                       }
-                       elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss']))
-                       {
-                               $this->data['type'] &= SIMPLEPIE_TYPE_RSS_ALL;
-                               if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['attribs']['']['version']))
-                               {
-                                       switch (trim($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['attribs']['']['version']))
-                                       {
-                                               case '0.91':
-                                                       $this->data['type'] &= SIMPLEPIE_TYPE_RSS_091;
-                                                       if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['skiphours']['hour'][0]['data']))
-                                                       {
-                                                               switch (trim($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['skiphours']['hour'][0]['data']))
-                                                               {
-                                                                       case '0':
-                                                                               $this->data['type'] &= SIMPLEPIE_TYPE_RSS_091_NETSCAPE;
-                                                                               break;
-
-                                                                       case '24':
-                                                                               $this->data['type'] &= SIMPLEPIE_TYPE_RSS_091_USERLAND;
-                                                                               break;
-                                                               }
-                                                       }
-                                                       break;
-
-                                               case '0.92':
-                                                       $this->data['type'] &= SIMPLEPIE_TYPE_RSS_092;
-                                                       break;
-
-                                               case '0.93':
-                                                       $this->data['type'] &= SIMPLEPIE_TYPE_RSS_093;
-                                                       break;
-
-                                               case '0.94':
-                                                       $this->data['type'] &= SIMPLEPIE_TYPE_RSS_094;
-                                                       break;
-
-                                               case '2.0':
-                                                       $this->data['type'] &= SIMPLEPIE_TYPE_RSS_20;
-                                                       break;
-                                       }
-                               }
-                       }
-                       else
-                       {
-                               $this->data['type'] = SIMPLEPIE_TYPE_NONE;
-                       }
-               }
-               return $this->data['type'];
-       }
-
-       /**
-        * Get the URL for the feed
-        *
-        * May or may not be different from the URL passed to {@see set_feed_url()},
-        * depending on whether auto-discovery was used.
-        *
-        * @since Preview Release (previously called `get_feed_url()` since SimplePie 0.8.)
-        * @todo If we have a perm redirect we should return the new URL
-        * @todo When we make the above change, let's support <itunes:new-feed-url> as well
-        * @todo Also, |atom:link|@rel=self
-        * @return string|null
-        */
-       public function subscribe_url()
-       {
-               if ($this->feed_url !== null)
-               {
-                       return $this->sanitize($this->feed_url, SIMPLEPIE_CONSTRUCT_IRI);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get data for an feed-level element
-        *
-        * This method allows you to get access to ANY element/attribute that is a
-        * sub-element of the opening feed tag.
-        *
-        * The return value is an indexed array of elements matching the given
-        * namespace and tag name. Each element has `attribs`, `data` and `child`
-        * subkeys. For `attribs` and `child`, these contain namespace subkeys.
-        * `attribs` then has one level of associative name => value data (where
-        * `value` is a string) after the namespace. `child` has tag-indexed keys
-        * after the namespace, each member of which is an indexed array matching
-        * this same format.
-        *
-        * For example:
-        * <pre>
-        * // This is probably a bad example because we already support
-        * // <media:content> natively, but it shows you how to parse through
-        * // the nodes.
-        * $group = $item->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'group');
-        * $content = $group[0]['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'];
-        * $file = $content[0]['attribs']['']['url'];
-        * echo $file;
-        * </pre>
-        *
-        * @since 1.0
-        * @see http://simplepie.org/wiki/faq/supported_xml_namespaces
-        * @param string $namespace The URL of the XML namespace of the elements you're trying to access
-        * @param string $tag Tag name
-        * @return array
-        */
-       public function get_feed_tags($namespace, $tag)
-       {
-               $type = $this->get_type();
-               if ($type & SIMPLEPIE_TYPE_ATOM_10)
-               {
-                       if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['child'][$namespace][$tag]))
-                       {
-                               return $this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['child'][$namespace][$tag];
-                       }
-               }
-               if ($type & SIMPLEPIE_TYPE_ATOM_03)
-               {
-                       if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['child'][$namespace][$tag]))
-                       {
-                               return $this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['child'][$namespace][$tag];
-                       }
-               }
-               if ($type & SIMPLEPIE_TYPE_RSS_RDF)
-               {
-                       if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][$namespace][$tag]))
-                       {
-                               return $this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][$namespace][$tag];
-                       }
-               }
-               if ($type & SIMPLEPIE_TYPE_RSS_SYNDICATION)
-               {
-                       if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][$namespace][$tag]))
-                       {
-                               return $this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][$namespace][$tag];
-                       }
-               }
-               return null;
-       }
-
-       /**
-        * Get data for an channel-level element
-        *
-        * This method allows you to get access to ANY element/attribute in the
-        * channel/header section of the feed.
-        *
-        * See {@see SimplePie::get_feed_tags()} for a description of the return value
-        *
-        * @since 1.0
-        * @see http://simplepie.org/wiki/faq/supported_xml_namespaces
-        * @param string $namespace The URL of the XML namespace of the elements you're trying to access
-        * @param string $tag Tag name
-        * @return array
-        */
-       public function get_channel_tags($namespace, $tag)
-       {
-               $type = $this->get_type();
-               if ($type & SIMPLEPIE_TYPE_ATOM_ALL)
-               {
-                       if ($return = $this->get_feed_tags($namespace, $tag))
-                       {
-                               return $return;
-                       }
-               }
-               if ($type & SIMPLEPIE_TYPE_RSS_10)
-               {
-                       if ($channel = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'channel'))
-                       {
-                               if (isset($channel[0]['child'][$namespace][$tag]))
-                               {
-                                       return $channel[0]['child'][$namespace][$tag];
-                               }
-                       }
-               }
-               if ($type & SIMPLEPIE_TYPE_RSS_090)
-               {
-                       if ($channel = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'channel'))
-                       {
-                               if (isset($channel[0]['child'][$namespace][$tag]))
-                               {
-                                       return $channel[0]['child'][$namespace][$tag];
-                               }
-                       }
-               }
-               if ($type & SIMPLEPIE_TYPE_RSS_SYNDICATION)
-               {
-                       if ($channel = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'channel'))
-                       {
-                               if (isset($channel[0]['child'][$namespace][$tag]))
-                               {
-                                       return $channel[0]['child'][$namespace][$tag];
-                               }
-                       }
-               }
-               return null;
-       }
-
-       /**
-        * Get data for an channel-level element
-        *
-        * This method allows you to get access to ANY element/attribute in the
-        * image/logo section of the feed.
-        *
-        * See {@see SimplePie::get_feed_tags()} for a description of the return value
-        *
-        * @since 1.0
-        * @see http://simplepie.org/wiki/faq/supported_xml_namespaces
-        * @param string $namespace The URL of the XML namespace of the elements you're trying to access
-        * @param string $tag Tag name
-        * @return array
-        */
-       public function get_image_tags($namespace, $tag)
-       {
-               $type = $this->get_type();
-               if ($type & SIMPLEPIE_TYPE_RSS_10)
-               {
-                       if ($image = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'image'))
-                       {
-                               if (isset($image[0]['child'][$namespace][$tag]))
-                               {
-                                       return $image[0]['child'][$namespace][$tag];
-                               }
-                       }
-               }
-               if ($type & SIMPLEPIE_TYPE_RSS_090)
-               {
-                       if ($image = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'image'))
-                       {
-                               if (isset($image[0]['child'][$namespace][$tag]))
-                               {
-                                       return $image[0]['child'][$namespace][$tag];
-                               }
-                       }
-               }
-               if ($type & SIMPLEPIE_TYPE_RSS_SYNDICATION)
-               {
-                       if ($image = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'image'))
-                       {
-                               if (isset($image[0]['child'][$namespace][$tag]))
-                               {
-                                       return $image[0]['child'][$namespace][$tag];
-                               }
-                       }
-               }
-               return null;
-       }
-
-       /**
-        * Get the base URL value from the feed
-        *
-        * Uses `<xml:base>` if available, otherwise uses the first link in the
-        * feed, or failing that, the URL of the feed itself.
-        *
-        * @see get_link
-        * @see subscribe_url
-        *
-        * @param array $element
-        * @return string
-        */
-       public function get_base($element = array())
-       {
-               if (!($this->get_type() & SIMPLEPIE_TYPE_RSS_SYNDICATION) && !empty($element['xml_base_explicit']) && isset($element['xml_base']))
-               {
-                       return $element['xml_base'];
-               }
-               elseif ($this->get_link() !== null)
-               {
-                       return $this->get_link();
-               }
-               else
-               {
-                       return $this->subscribe_url();
-               }
-       }
-
-       /**
-        * Sanitize feed data
-        *
-        * @access private
-        * @see SimplePie_Sanitize::sanitize()
-        * @param string $data Data to sanitize
-        * @param int $type One of the SIMPLEPIE_CONSTRUCT_* constants
-        * @param string $base Base URL to resolve URLs against
-        * @return string Sanitized data
-        */
-       public function sanitize($data, $type, $base = '')
-       {
-               return $this->sanitize->sanitize($data, $type, $base);
-       }
-
-       /**
-        * Get the title of the feed
-        *
-        * Uses `<atom:title>`, `<title>` or `<dc:title>`
-        *
-        * @since 1.0 (previously called `get_feed_title` since 0.8)
-        * @return string|null
-        */
-       public function get_title()
-       {
-               if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a category for the feed
-        *
-        * @since Unknown
-        * @param int $key The category that you want to return.  Remember that arrays begin with 0, not 1
-        * @return SimplePie_Category|null
-        */
-       public function get_category($key = 0)
-       {
-               $categories = $this->get_categories();
-               if (isset($categories[$key]))
-               {
-                       return $categories[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all categories for the feed
-        *
-        * Uses `<atom:category>`, `<category>` or `<dc:subject>`
-        *
-        * @since Unknown
-        * @return array|null List of {@see SimplePie_Category} objects
-        */
-       public function get_categories()
-       {
-               $categories = array();
-
-               foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
-               {
-                       $term = null;
-                       $scheme = null;
-                       $label = null;
-                       if (isset($category['attribs']['']['term']))
-                       {
-                               $term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($category['attribs']['']['scheme']))
-                       {
-                               $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($category['attribs']['']['label']))
-                       {
-                               $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
-               }
-               foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
-               {
-                       // This is really the label, but keep this as the term also for BC.
-                       // Label will also work on retrieving because that falls back to term.
-                       $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       if (isset($category['attribs']['']['domain']))
-                       {
-                               $scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       else
-                       {
-                               $scheme = null;
-                       }
-                       $categories[] = $this->registry->create('Category', array($term, $scheme, null));
-               }
-               foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
-               {
-                       $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-               foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
-               {
-                       $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-
-               if (!empty($categories))
-               {
-                       return array_unique($categories);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get an author for the feed
-        *
-        * @since 1.1
-        * @param int $key The author that you want to return.  Remember that arrays begin with 0, not 1
-        * @return SimplePie_Author|null
-        */
-       public function get_author($key = 0)
-       {
-               $authors = $this->get_authors();
-               if (isset($authors[$key]))
-               {
-                       return $authors[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all authors for the feed
-        *
-        * Uses `<atom:author>`, `<author>`, `<dc:creator>` or `<itunes:author>`
-        *
-        * @since 1.1
-        * @return array|null List of {@see SimplePie_Author} objects
-        */
-       public function get_authors()
-       {
-               $authors = array();
-               foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author)
-               {
-                       $name = null;
-                       $uri = null;
-                       $email = null;
-                       if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
-                       {
-                               $uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
-                       }
-                       if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $uri !== null)
-                       {
-                               $authors[] = $this->registry->create('Author', array($name, $uri, $email));
-                       }
-               }
-               if ($author = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
-               {
-                       $name = null;
-                       $url = null;
-                       $email = null;
-                       if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
-                       {
-                               $url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
-                       }
-                       if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $url !== null)
-                       {
-                               $authors[] = $this->registry->create('Author', array($name, $url, $email));
-                       }
-               }
-               foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
-               {
-                       $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-               foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
-               {
-                       $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-               foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
-               {
-                       $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-
-               if (!empty($authors))
-               {
-                       return array_unique($authors);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a contributor for the feed
-        *
-        * @since 1.1
-        * @param int $key The contrbutor that you want to return.  Remember that arrays begin with 0, not 1
-        * @return SimplePie_Author|null
-        */
-       public function get_contributor($key = 0)
-       {
-               $contributors = $this->get_contributors();
-               if (isset($contributors[$key]))
-               {
-                       return $contributors[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all contributors for the feed
-        *
-        * Uses `<atom:contributor>`
-        *
-        * @since 1.1
-        * @return array|null List of {@see SimplePie_Author} objects
-        */
-       public function get_contributors()
-       {
-               $contributors = array();
-               foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'contributor') as $contributor)
-               {
-                       $name = null;
-                       $uri = null;
-                       $email = null;
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
-                       {
-                               $uri = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $uri !== null)
-                       {
-                               $contributors[] = $this->registry->create('Author', array($name, $uri, $email));
-                       }
-               }
-               foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
-               {
-                       $name = null;
-                       $url = null;
-                       $email = null;
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
-                       {
-                               $url = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $url !== null)
-                       {
-                               $contributors[] = $this->registry->create('Author', array($name, $url, $email));
-                       }
-               }
-
-               if (!empty($contributors))
-               {
-                       return array_unique($contributors);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a single link for the feed
-        *
-        * @since 1.0 (previously called `get_feed_link` since Preview Release, `get_feed_permalink()` since 0.8)
-        * @param int $key The link that you want to return.  Remember that arrays begin with 0, not 1
-        * @param string $rel The relationship of the link to return
-        * @return string|null Link URL
-        */
-       public function get_link($key = 0, $rel = 'alternate')
-       {
-               $links = $this->get_links($rel);
-               if (isset($links[$key]))
-               {
-                       return $links[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the permalink for the item
-        *
-        * Returns the first link available with a relationship of "alternate".
-        * Identical to {@see get_link()} with key 0
-        *
-        * @see get_link
-        * @since 1.0 (previously called `get_feed_link` since Preview Release, `get_feed_permalink()` since 0.8)
-        * @internal Added for parity between the parent-level and the item/entry-level.
-        * @return string|null Link URL
-        */
-       public function get_permalink()
-       {
-               return $this->get_link(0);
-       }
-
-       /**
-        * Get all links for the feed
-        *
-        * Uses `<atom:link>` or `<link>`
-        *
-        * @since Beta 2
-        * @param string $rel The relationship of links to return
-        * @return array|null Links found for the feed (strings)
-        */
-       public function get_links($rel = 'alternate')
-       {
-               if (!isset($this->data['links']))
-               {
-                       $this->data['links'] = array();
-                       if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link'))
-                       {
-                               foreach ($links as $link)
-                               {
-                                       if (isset($link['attribs']['']['href']))
-                                       {
-                                               $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
-                                               $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
-                                       }
-                               }
-                       }
-                       if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link'))
-                       {
-                               foreach ($links as $link)
-                               {
-                                       if (isset($link['attribs']['']['href']))
-                                       {
-                                               $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
-                                               $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
-
-                                       }
-                               }
-                       }
-                       if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
-                       {
-                               $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
-                       }
-                       if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
-                       {
-                               $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
-                       }
-                       if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
-                       {
-                               $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
-                       }
-
-                       $keys = array_keys($this->data['links']);
-                       foreach ($keys as $key)
-                       {
-                               if ($this->registry->call('Misc', 'is_isegment_nz_nc', array($key)))
-                               {
-                                       if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]))
-                                       {
-                                               $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]);
-                                               $this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key];
-                                       }
-                                       else
-                                       {
-                                               $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key];
-                                       }
-                               }
-                               elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY)
-                               {
-                                       $this->data['links'][substr($key, 41)] =& $this->data['links'][$key];
-                               }
-                               $this->data['links'][$key] = array_unique($this->data['links'][$key]);
-                       }
-               }
-
-               if (isset($this->data['links'][$rel]))
-               {
-                       return $this->data['links'][$rel];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_all_discovered_feeds()
-       {
-               return $this->all_discovered_feeds;
-       }
-
-       /**
-        * Get the content for the item
-        *
-        * Uses `<atom:subtitle>`, `<atom:tagline>`, `<description>`,
-        * `<dc:description>`, `<itunes:summary>` or `<itunes:subtitle>`
-        *
-        * @since 1.0 (previously called `get_feed_description()` since 0.8)
-        * @return string|null
-        */
-       public function get_description()
-       {
-               if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'subtitle'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'tagline'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'summary'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'subtitle'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the copyright info for the feed
-        *
-        * Uses `<atom:rights>`, `<atom:copyright>` or `<dc:rights>`
-        *
-        * @since 1.0 (previously called `get_feed_copyright()` since 0.8)
-        * @return string|null
-        */
-       public function get_copyright()
-       {
-               if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'rights'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'copyright'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'copyright'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'rights'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'rights'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the language for the feed
-        *
-        * Uses `<language>`, `<dc:language>`, or @xml_lang
-        *
-        * @since 1.0 (previously called `get_feed_language()` since 0.8)
-        * @return string|null
-        */
-       public function get_language()
-       {
-               if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'language'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'language'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'language'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['xml_lang']))
-               {
-                       return $this->sanitize($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['xml_lang']))
-               {
-                       return $this->sanitize($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['xml_lang']))
-               {
-                       return $this->sanitize($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif (isset($this->data['headers']['content-language']))
-               {
-                       return $this->sanitize($this->data['headers']['content-language'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the latitude coordinates for the item
-        *
-        * Compatible with the W3C WGS84 Basic Geo and GeoRSS specifications
-        *
-        * Uses `<geo:lat>` or `<georss:point>`
-        *
-        * @since 1.0
-        * @link http://www.w3.org/2003/01/geo/ W3C WGS84 Basic Geo
-        * @link http://www.georss.org/ GeoRSS
-        * @return string|null
-        */
-       public function get_latitude()
-       {
-
-               if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lat'))
-               {
-                       return (float) $return[0]['data'];
-               }
-               elseif (($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
-               {
-                       return (float) $match[1];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the longitude coordinates for the feed
-        *
-        * Compatible with the W3C WGS84 Basic Geo and GeoRSS specifications
-        *
-        * Uses `<geo:long>`, `<geo:lon>` or `<georss:point>`
-        *
-        * @since 1.0
-        * @link http://www.w3.org/2003/01/geo/ W3C WGS84 Basic Geo
-        * @link http://www.georss.org/ GeoRSS
-        * @return string|null
-        */
-       public function get_longitude()
-       {
-               if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'long'))
-               {
-                       return (float) $return[0]['data'];
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lon'))
-               {
-                       return (float) $return[0]['data'];
-               }
-               elseif (($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
-               {
-                       return (float) $match[2];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the feed logo's title
-        *
-        * RSS 0.9.0, 1.0 and 2.0 feeds are allowed to have a "feed logo" title.
-        *
-        * Uses `<image><title>` or `<image><dc:title>`
-        *
-        * @return string|null
-        */
-       public function get_image_title()
-       {
-               if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the feed logo's URL
-        *
-        * RSS 0.9.0, 2.0, Atom 1.0, and feeds with iTunes RSS tags are allowed to
-        * have a "feed logo" URL. This points directly to the image itself.
-        *
-        * Uses `<itunes:image>`, `<atom:logo>`, `<atom:icon>`,
-        * `<image><title>` or `<image><dc:title>`
-        *
-        * @return string|null
-        */
-       public function get_image_url()
-       {
-               if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'image'))
-               {
-                       return $this->sanitize($return[0]['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI);
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'logo'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'icon'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'url'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'url'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'url'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the feed logo's link
-        *
-        * RSS 0.9.0, 1.0 and 2.0 feeds are allowed to have a "feed logo" link. This
-        * points to a human-readable page that the image should link to.
-        *
-        * Uses `<itunes:image>`, `<atom:logo>`, `<atom:icon>`,
-        * `<image><title>` or `<image><dc:title>`
-        *
-        * @return string|null
-        */
-       public function get_image_link()
-       {
-               if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the feed logo's link
-        *
-        * RSS 2.0 feeds are allowed to have a "feed logo" width.
-        *
-        * Uses `<image><width>` or defaults to 88.0 if no width is specified and
-        * the feed is an RSS 2.0 feed.
-        *
-        * @return int|float|null
-        */
-       public function get_image_width()
-       {
-               if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'width'))
-               {
-                       return round($return[0]['data']);
-               }
-               elseif ($this->get_type() & SIMPLEPIE_TYPE_RSS_SYNDICATION && $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'url'))
-               {
-                       return 88.0;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the feed logo's height
-        *
-        * RSS 2.0 feeds are allowed to have a "feed logo" height.
-        *
-        * Uses `<image><height>` or defaults to 31.0 if no height is specified and
-        * the feed is an RSS 2.0 feed.
-        *
-        * @return int|float|null
-        */
-       public function get_image_height()
-       {
-               if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'height'))
-               {
-                       return round($return[0]['data']);
-               }
-               elseif ($this->get_type() & SIMPLEPIE_TYPE_RSS_SYNDICATION && $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'url'))
-               {
-                       return 31.0;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the number of items in the feed
-        *
-        * This is well-suited for {@link http://php.net/for for()} loops with
-        * {@see get_item()}
-        *
-        * @param int $max Maximum value to return. 0 for no limit
-        * @return int Number of items in the feed
-        */
-       public function get_item_quantity($max = 0)
-       {
-               $max = (int) $max;
-               $qty = count($this->get_items());
-               if ($max === 0)
-               {
-                       return $qty;
-               }
-               else
-               {
-                       return ($qty > $max) ? $max : $qty;
-               }
-       }
-
-       /**
-        * Get a single item from the feed
-        *
-        * This is better suited for {@link http://php.net/for for()} loops, whereas
-        * {@see get_items()} is better suited for
-        * {@link http://php.net/foreach foreach()} loops.
-        *
-        * @see get_item_quantity()
-        * @since Beta 2
-        * @param int $key The item that you want to return.  Remember that arrays begin with 0, not 1
-        * @return SimplePie_Item|null
-        */
-       public function get_item($key = 0)
-       {
-               $items = $this->get_items();
-               if (isset($items[$key]))
-               {
-                       return $items[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all items from the feed
-        *
-        * This is better suited for {@link http://php.net/for for()} loops, whereas
-        * {@see get_items()} is better suited for
-        * {@link http://php.net/foreach foreach()} loops.
-        *
-        * @see get_item_quantity
-        * @since Beta 2
-        * @param int $start Index to start at
-        * @param int $end Number of items to return. 0 for all items after `$start`
-        * @return array|null List of {@see SimplePie_Item} objects
-        */
-       public function get_items($start = 0, $end = 0)
-       {
-               if (!isset($this->data['items']))
-               {
-                       if (!empty($this->multifeed_objects))
-                       {
-                               $this->data['items'] = SimplePie::merge_items($this->multifeed_objects, $start, $end, $this->item_limit);
-                       }
-                       else
-                       {
-                               $this->data['items'] = array();
-                               if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'entry'))
-                               {
-                                       $keys = array_keys($items);
-                                       foreach ($keys as $key)
-                                       {
-                                               $this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
-                                       }
-                               }
-                               if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'entry'))
-                               {
-                                       $keys = array_keys($items);
-                                       foreach ($keys as $key)
-                                       {
-                                               $this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
-                                       }
-                               }
-                               if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'item'))
-                               {
-                                       $keys = array_keys($items);
-                                       foreach ($keys as $key)
-                                       {
-                                               $this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
-                                       }
-                               }
-                               if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'item'))
-                               {
-                                       $keys = array_keys($items);
-                                       foreach ($keys as $key)
-                                       {
-                                               $this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
-                                       }
-                               }
-                               if ($items = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'item'))
-                               {
-                                       $keys = array_keys($items);
-                                       foreach ($keys as $key)
-                                       {
-                                               $this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
-                                       }
-                               }
-                       }
-               }
-
-               if (!empty($this->data['items']))
-               {
-                       // If we want to order it by date, check if all items have a date, and then sort it
-                       if ($this->order_by_date && empty($this->multifeed_objects))
-                       {
-                               if (!isset($this->data['ordered_items']))
-                               {
-                                       $do_sort = true;
-                                       foreach ($this->data['items'] as $item)
-                                       {
-                                               if (!$item->get_date('U'))
-                                               {
-                                                       $do_sort = false;
-                                                       break;
-                                               }
-                                       }
-                                       $item = null;
-                                       $this->data['ordered_items'] = $this->data['items'];
-                                       if ($do_sort)
-                                       {
-                                               usort($this->data['ordered_items'], array(get_class($this), 'sort_items'));
-                                       }
-                               }
-                               $items = $this->data['ordered_items'];
-                       }
-                       else
-                       {
-                               $items = $this->data['items'];
-                       }
-
-                       // Slice the data as desired
-                       if ($end === 0)
-                       {
-                               return array_slice($items, $start);
-                       }
-                       else
-                       {
-                               return array_slice($items, $start, $end);
-                       }
-               }
-               else
-               {
-                       return array();
-               }
-       }
-
-       /**
-        * Set the favicon handler
-        *
-        * @deprecated Use your own favicon handling instead
-        */
-       public function set_favicon_handler($page = false, $qs = 'i')
-       {
-               $level = defined('E_USER_DEPRECATED') ? E_USER_DEPRECATED : E_USER_WARNING;
-               trigger_error('Favicon handling has been removed, please use your own handling', $level);
-               return false;
-       }
-
-       /**
-        * Get the favicon for the current feed
-        *
-        * @deprecated Use your own favicon handling instead
-        */
-       public function get_favicon()
-       {
-               $level = defined('E_USER_DEPRECATED') ? E_USER_DEPRECATED : E_USER_WARNING;
-               trigger_error('Favicon handling has been removed, please use your own handling', $level);
-
-               if (($url = $this->get_link()) !== null)
-               {
-                       return 'http://g.etfv.co/' . urlencode($url);
-               }
-
-               return false;
-       }
-
-       /**
-        * Magic method handler
-        *
-        * @param string $method Method name
-        * @param array $args Arguments to the method
-        * @return mixed
-        */
-       public function __call($method, $args)
-       {
-               if (strpos($method, 'subscribe_') === 0)
-               {
-                       $level = defined('E_USER_DEPRECATED') ? E_USER_DEPRECATED : E_USER_WARNING;
-                       trigger_error('subscribe_*() has been deprecated, implement the callback yourself', $level);
-                       return '';
-               }
-               if ($method === 'enable_xml_dump')
-               {
-                       $level = defined('E_USER_DEPRECATED') ? E_USER_DEPRECATED : E_USER_WARNING;
-                       trigger_error('enable_xml_dump() has been deprecated, use get_raw_data() instead', $level);
-                       return false;
-               }
-
-               $class = get_class($this);
-               $trace = debug_backtrace();
-               $file = $trace[0]['file'];
-               $line = $trace[0]['line'];
-               trigger_error("Call to undefined method $class::$method() in $file on line $line", E_USER_ERROR);
-       }
-
-       /**
-        * Sorting callback for items
-        *
-        * @access private
-        * @param SimplePie $a
-        * @param SimplePie $b
-        * @return boolean
-        */
-       public static function sort_items($a, $b)
-       {
-               return $a->get_date('U') <= $b->get_date('U');
-       }
-
-       /**
-        * Merge items from several feeds into one
-        *
-        * If you're merging multiple feeds together, they need to all have dates
-        * for the items or else SimplePie will refuse to sort them.
-        *
-        * @link http://simplepie.org/wiki/tutorial/sort_multiple_feeds_by_time_and_date#if_feeds_require_separate_per-feed_settings
-        * @param array $urls List of SimplePie feed objects to merge
-        * @param int $start Starting item
-        * @param int $end Number of items to return
-        * @param int $limit Maximum number of items per feed
-        * @return array
-        */
-       public static function merge_items($urls, $start = 0, $end = 0, $limit = 0)
-       {
-               if (is_array($urls) && sizeof($urls) > 0)
-               {
-                       $items = array();
-                       foreach ($urls as $arg)
-                       {
-                               if ($arg instanceof SimplePie)
-                               {
-                                       $items = array_merge($items, $arg->get_items(0, $limit));
-                               }
-                               else
-                               {
-                                       trigger_error('Arguments must be SimplePie objects', E_USER_WARNING);
-                               }
-                       }
-
-                       $do_sort = true;
-                       foreach ($items as $item)
-                       {
-                               if (!$item->get_date('U'))
-                               {
-                                       $do_sort = false;
-                                       break;
-                               }
-                       }
-                       $item = null;
-                       if ($do_sort)
-                       {
-                               usort($items, array(get_class($urls[0]), 'sort_items'));
-                       }
-
-                       if ($end === 0)
-                       {
-                               return array_slice($items, $start);
-                       }
-                       else
-                       {
-                               return array_slice($items, $start, $end);
-                       }
-               }
-               else
-               {
-                       trigger_error('Cannot merge zero SimplePie objects', E_USER_WARNING);
-                       return array();
-               }
-       }
-}
-
-/**
- * Manages all author-related data
- *
- * Used by {@see SimplePie_Item::get_author()} and {@see SimplePie::get_authors()}
- *
- * This class can be overloaded with {@see SimplePie::set_author_class()}
- *
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie_Author
-{
-       /**
-        * Author's name
-        *
-        * @var string
-        * @see get_name()
-        */
-       var $name;
-
-       /**
-        * Author's link
-        *
-        * @var string
-        * @see get_link()
-        */
-       var $link;
-
-       /**
-        * Author's email address
-        *
-        * @var string
-        * @see get_email()
-        */
-       var $email;
-
-       /**
-        * Constructor, used to input the data
-        *
-        * @param string $name
-        * @param string $link
-        * @param string $email
-        */
-       public function __construct($name = null, $link = null, $email = null)
-       {
-               $this->name = $name;
-               $this->link = $link;
-               $this->email = $email;
-       }
-
-       /**
-        * String-ified version
-        *
-        * @return string
-        */
-       public function __toString()
-       {
-               // There is no $this->data here
-               return md5(serialize($this));
-       }
-
-       /**
-        * Author's name
-        *
-        * @return string|null
-        */
-       public function get_name()
-       {
-               if ($this->name !== null)
-               {
-                       return $this->name;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Author's link
-        *
-        * @return string|null
-        */
-       public function get_link()
-       {
-               if ($this->link !== null)
-               {
-                       return $this->link;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Author's email address
-        *
-        * @return string|null
-        */
-       public function get_email()
-       {
-               if ($this->email !== null)
-               {
-                       return $this->email;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-}
-
-/**
- * Base for cache objects
- *
- * Classes to be used with {@see SimplePie_Cache::register()} are expected
- * to implement this interface.
- *
- * @package SimplePie
- * @subpackage Caching
- */
-interface SimplePie_Cache_Base
-{
-       /**
-        * Feed cache type
-        *
-        * @var string
-        */
-       const TYPE_FEED = 'spc';
-
-       /**
-        * Image cache type
-        *
-        * @var string
-        */
-       const TYPE_IMAGE = 'spi';
-
-       /**
-        * Create a new cache object
-        *
-        * @param string $location Location string (from SimplePie::$cache_location)
-        * @param string $name Unique ID for the cache
-        * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
-        */
-       public function __construct($location, $name, $type);
-
-       /**
-        * Save data to the cache
-        *
-        * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
-        * @return bool Successfulness
-        */
-       public function save($data);
-
-       /**
-        * Retrieve the data saved to the cache
-        *
-        * @return array Data for SimplePie::$data
-        */
-       public function load();
-
-       /**
-        * Retrieve the last modified time for the cache
-        *
-        * @return int Timestamp
-        */
-       public function mtime();
-
-       /**
-        * Set the last modified time to the current time
-        *
-        * @return bool Success status
-        */
-       public function touch();
-
-       /**
-        * Remove the cache
-        *
-        * @return bool Success status
-        */
-       public function unlink();
-}
-
-/**
- * Base class for database-based caches
- *
- * @package SimplePie
- * @subpackage Caching
- */
-abstract class SimplePie_Cache_DB implements SimplePie_Cache_Base
-{
-       /**
-        * Helper for database conversion
-        *
-        * Converts a given {@see SimplePie} object into data to be stored
-        *
-        * @param SimplePie $data
-        * @return array First item is the serialized data for storage, second item is the unique ID for this item
-        */
-       protected static function prepare_simplepie_object_for_cache($data)
-       {
-               $items = $data->get_items();
-               $items_by_id = array();
-
-               if (!empty($items))
-               {
-                       foreach ($items as $item)
-                       {
-                               $items_by_id[$item->get_id()] = $item;
-                       }
-
-                       if (count($items_by_id) !== count($items))
-                       {
-                               $items_by_id = array();
-                               foreach ($items as $item)
-                               {
-                                       $items_by_id[$item->get_id(true)] = $item;
-                               }
-                       }
-
-                       if (isset($data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]))
-                       {
-                               $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0];
-                       }
-                       elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]))
-                       {
-                               $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0];
-                       }
-                       elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]))
-                       {
-                               $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0];
-                       }
-                       elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['channel'][0]))
-                       {
-                               $channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['channel'][0];
-                       }
-                       else
-                       {
-                               $channel = null;
-                       }
-
-                       if ($channel !== null)
-                       {
-                               if (isset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry']))
-                               {
-                                       unset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry']);
-                               }
-                               if (isset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['entry']))
-                               {
-                                       unset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['entry']);
-                               }
-                               if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item']))
-                               {
-                                       unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item']);
-                               }
-                               if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item']))
-                               {
-                                       unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item']);
-                               }
-                               if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_20]['item']))
-                               {
-                                       unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_20]['item']);
-                               }
-                       }
-                       if (isset($data->data['items']))
-                       {
-                               unset($data->data['items']);
-                       }
-                       if (isset($data->data['ordered_items']))
-                       {
-                               unset($data->data['ordered_items']);
-                       }
-               }
-               return array(serialize($data->data), $items_by_id);
-       }
-}
-
-/**
- * Caches data to the filesystem
- *
- * @package SimplePie
- * @subpackage Caching
- */
-class SimplePie_Cache_File implements SimplePie_Cache_Base
-{
-       /**
-        * Location string
-        *
-        * @see SimplePie::$cache_location
-        * @var string
-        */
-       protected $location;
-
-       /**
-        * Filename
-        *
-        * @var string
-        */
-       protected $filename;
-
-       /**
-        * File extension
-        *
-        * @var string
-        */
-       protected $extension;
-
-       /**
-        * File path
-        *
-        * @var string
-        */
-       protected $name;
-
-       /**
-        * Create a new cache object
-        *
-        * @param string $location Location string (from SimplePie::$cache_location)
-        * @param string $name Unique ID for the cache
-        * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
-        */
-       public function __construct($location, $name, $type)
-       {
-               $this->location = $location;
-               $this->filename = $name;
-               $this->extension = $type;
-               $this->name = "$this->location/$this->filename.$this->extension";
-       }
-
-       /**
-        * Save data to the cache
-        *
-        * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
-        * @return bool Successfulness
-        */
-       public function save($data)
-       {
-               if (file_exists($this->name) && is_writeable($this->name) || file_exists($this->location) && is_writeable($this->location))
-               {
-                       if ($data instanceof SimplePie)
-                       {
-                               $data = $data->data;
-                       }
-
-                       $data = serialize($data);
-                       return (bool) file_put_contents($this->name, $data);
-               }
-               return false;
-       }
-
-       /**
-        * Retrieve the data saved to the cache
-        *
-        * @return array Data for SimplePie::$data
-        */
-       public function load()
-       {
-               if (file_exists($this->name) && is_readable($this->name))
-               {
-                       return unserialize(file_get_contents($this->name));
-               }
-               return false;
-       }
-
-       /**
-        * Retrieve the last modified time for the cache
-        *
-        * @return int Timestamp
-        */
-       public function mtime()
-       {
-               if (file_exists($this->name))
-               {
-                       return filemtime($this->name);
-               }
-               return false;
-       }
-
-       /**
-        * Set the last modified time to the current time
-        *
-        * @return bool Success status
-        */
-       public function touch()
-       {
-               if (file_exists($this->name))
-               {
-                       return touch($this->name);
-               }
-               return false;
-       }
-
-       /**
-        * Remove the cache
-        *
-        * @return bool Success status
-        */
-       public function unlink()
-       {
-               if (file_exists($this->name))
-               {
-                       return unlink($this->name);
-               }
-               return false;
-       }
-}
-
-/**
- * Caches data to memcache
- *
- * Registered for URLs with the "memcache" protocol
- *
- * For example, `memcache://localhost:11211/?timeout=3600&prefix=sp_` will
- * connect to memcache on `localhost` on port 11211. All tables will be
- * prefixed with `sp_` and data will expire after 3600 seconds
- *
- * @package SimplePie
- * @subpackage Caching
- * @uses Memcache
- */
-class SimplePie_Cache_Memcache implements SimplePie_Cache_Base
-{
-       /**
-        * Memcache instance
-        *
-        * @var Memcache
-        */
-       protected $cache;
-
-       /**
-        * Options
-        *
-        * @var array
-        */
-       protected $options;
-
-       /**
-        * Cache name
-        *
-        * @var string
-        */
-       protected $name;
-
-       /**
-        * Create a new cache object
-        *
-        * @param string $location Location string (from SimplePie::$cache_location)
-        * @param string $name Unique ID for the cache
-        * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
-        */
-       public function __construct($location, $name, $type)
-       {
-               $this->options = array(
-                       'host' => '127.0.0.1',
-                       'port' => 11211,
-                       'extras' => array(
-                               'timeout' => 3600, // one hour
-                               'prefix' => 'simplepie_',
-                       ),
-               );
-               $parsed = SimplePie_Cache::parse_URL($location);
-               $this->options['host'] = empty($parsed['host']) ? $this->options['host'] : $parsed['host'];
-               $this->options['port'] = empty($parsed['port']) ? $this->options['port'] : $parsed['port'];
-               $this->options['extras'] = array_merge($this->options['extras'], $parsed['extras']);
-               $this->name = $this->options['extras']['prefix'] . md5("$name:$type");
-
-               $this->cache = new Memcache();
-               $this->cache->addServer($this->options['host'], (int) $this->options['port']);
-       }
-
-       /**
-        * Save data to the cache
-        *
-        * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
-        * @return bool Successfulness
-        */
-       public function save($data)
-       {
-               if ($data instanceof SimplePie)
-               {
-                       $data = $data->data;
-               }
-               return $this->cache->set($this->name, serialize($data), MEMCACHE_COMPRESSED, (int) $this->options['extras']['timeout']);
-       }
-
-       /**
-        * Retrieve the data saved to the cache
-        *
-        * @return array Data for SimplePie::$data
-        */
-       public function load()
-       {
-               $data = $this->cache->get($this->name);
-
-               if ($data !== false)
-               {
-                       return unserialize($data);
-               }
-               return false;
-       }
-
-       /**
-        * Retrieve the last modified time for the cache
-        *
-        * @return int Timestamp
-        */
-       public function mtime()
-       {
-               $data = $this->cache->get($this->name);
-
-               if ($data !== false)
-               {
-                       // essentially ignore the mtime because Memcache expires on it's own
-                       return time();
-               }
-
-               return false;
-       }
-
-       /**
-        * Set the last modified time to the current time
-        *
-        * @return bool Success status
-        */
-       public function touch()
-       {
-               $data = $this->cache->get($this->name);
-
-               if ($data !== false)
-               {
-                       return $this->cache->set($this->name, $data, MEMCACHE_COMPRESSED, (int) $this->duration);
-               }
-
-               return false;
-       }
-
-       /**
-        * Remove the cache
-        *
-        * @return bool Success status
-        */
-       public function unlink()
-       {
-               return $this->cache->delete($this->name, 0);
-       }
-}
-
-/**
- * Caches data to a MySQL database
- *
- * Registered for URLs with the "mysql" protocol
- *
- * For example, `mysql://root:password@localhost:3306/mydb?prefix=sp_` will
- * connect to the `mydb` database on `localhost` on port 3306, with the user
- * `root` and the password `password`. All tables will be prefixed with `sp_`
- *
- * @package SimplePie
- * @subpackage Caching
- */
-class SimplePie_Cache_MySQL extends SimplePie_Cache_DB
-{
-       /**
-        * PDO instance
-        *
-        * @var PDO
-        */
-       protected $mysql;
-
-       /**
-        * Options
-        *
-        * @var array
-        */
-       protected $options;
-
-       /**
-        * Cache ID
-        *
-        * @var string
-        */
-       protected $id;
-
-       /**
-        * Create a new cache object
-        *
-        * @param string $location Location string (from SimplePie::$cache_location)
-        * @param string $name Unique ID for the cache
-        * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
-        */
-       public function __construct($location, $name, $type)
-       {
-               $this->options = array(
-                       'user' => null,
-                       'pass' => null,
-                       'host' => '127.0.0.1',
-                       'port' => '3306',
-                       'path' => '',
-                       'extras' => array(
-                               'prefix' => '',
-                       ),
-               );
-               $this->options = array_merge_recursive($this->options, SimplePie_Cache::parse_URL($location));
-
-               // Path is prefixed with a "/"
-               $this->options['dbname'] = substr($this->options['path'], 1);
-
-               try
-               {
-                       $this->mysql = new PDO("mysql:dbname={$this->options['dbname']};host={$this->options['host']};port={$this->options['port']}", $this->options['user'], $this->options['pass'], array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
-               }
-               catch (PDOException $e)
-               {
-                       $this->mysql = null;
-                       return;
-               }
-
-               $this->id = $name . $type;
-
-               if (!$query = $this->mysql->query('SHOW TABLES'))
-               {
-                       $this->mysql = null;
-                       return;
-               }
-
-               $db = array();
-               while ($row = $query->fetchColumn())
-               {
-                       $db[] = $row;
-               }
-
-               if (!in_array($this->options['extras']['prefix'] . 'cache_data', $db))
-               {
-                       $query = $this->mysql->exec('CREATE TABLE `' . $this->options['extras']['prefix'] . 'cache_data` (`id` TEXT CHARACTER SET utf8 NOT NULL, `items` SMALLINT NOT NULL DEFAULT 0, `data` BLOB NOT NULL, `mtime` INT UNSIGNED NOT NULL, UNIQUE (`id`(125)))');
-                       if ($query === false)
-                       {
-                               $this->mysql = null;
-                       }
-               }
-
-               if (!in_array($this->options['extras']['prefix'] . 'items', $db))
-               {
-                       $query = $this->mysql->exec('CREATE TABLE `' . $this->options['extras']['prefix'] . 'items` (`feed_id` TEXT CHARACTER SET utf8 NOT NULL, `id` TEXT CHARACTER SET utf8 NOT NULL, `data` TEXT CHARACTER SET utf8 NOT NULL, `posted` INT UNSIGNED NOT NULL, INDEX `feed_id` (`feed_id`(125)))');
-                       if ($query === false)
-                       {
-                               $this->mysql = null;
-                       }
-               }
-       }
-
-       /**
-        * Save data to the cache
-        *
-        * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
-        * @return bool Successfulness
-        */
-       public function save($data)
-       {
-               if ($this->mysql === null)
-               {
-                       return false;
-               }
-
-               if ($data instanceof SimplePie)
-               {
-                       $data = clone $data;
-
-                       $prepared = self::prepare_simplepie_object_for_cache($data);
-
-                       $query = $this->mysql->prepare('SELECT COUNT(*) FROM `' . $this->options['extras']['prefix'] . 'cache_data` WHERE `id` = :feed');
-                       $query->bindValue(':feed', $this->id);
-                       if ($query->execute())
-                       {
-                               if ($query->fetchColumn() > 0)
-                               {
-                                       $items = count($prepared[1]);
-                                       if ($items)
-                                       {
-                                               $sql = 'UPDATE `' . $this->options['extras']['prefix'] . 'cache_data` SET `items` = :items, `data` = :data, `mtime` = :time WHERE `id` = :feed';
-                                               $query = $this->mysql->prepare($sql);
-                                               $query->bindValue(':items', $items);
-                                       }
-                                       else
-                                       {
-                                               $sql = 'UPDATE `' . $this->options['extras']['prefix'] . 'cache_data` SET `data` = :data, `mtime` = :time WHERE `id` = :feed';
-                                               $query = $this->mysql->prepare($sql);
-                                       }
-
-                                       $query->bindValue(':data', $prepared[0]);
-                                       $query->bindValue(':time', time());
-                                       $query->bindValue(':feed', $this->id);
-                                       if (!$query->execute())
-                                       {
-                                               return false;
-                                       }
-                               }
-                               else
-                               {
-                                       $query = $this->mysql->prepare('INSERT INTO `' . $this->options['extras']['prefix'] . 'cache_data` (`id`, `items`, `data`, `mtime`) VALUES(:feed, :count, :data, :time)');
-                                       $query->bindValue(':feed', $this->id);
-                                       $query->bindValue(':count', count($prepared[1]));
-                                       $query->bindValue(':data', $prepared[0]);
-                                       $query->bindValue(':time', time());
-                                       if (!$query->execute())
-                                       {
-                                               return false;
-                                       }
-                               }
-
-                               $ids = array_keys($prepared[1]);
-                               if (!empty($ids))
-                               {
-                                       foreach ($ids as $id)
-                                       {
-                                               $database_ids[] = $this->mysql->quote($id);
-                                       }
-
-                                       $query = $this->mysql->prepare('SELECT `id` FROM `' . $this->options['extras']['prefix'] . 'items` WHERE `id` = ' . implode(' OR `id` = ', $database_ids) . ' AND `feed_id` = :feed');
-                                       $query->bindValue(':feed', $this->id);
-
-                                       if ($query->execute())
-                                       {
-                                               $existing_ids = array();
-                                               while ($row = $query->fetchColumn())
-                                               {
-                                                       $existing_ids[] = $row;
-                                               }
-
-                                               $new_ids = array_diff($ids, $existing_ids);
-
-                                               foreach ($new_ids as $new_id)
-                                               {
-                                                       if (!($date = $prepared[1][$new_id]->get_date('U')))
-                                                       {
-                                                               $date = time();
-                                                       }
-
-                                                       $query = $this->mysql->prepare('INSERT INTO `' . $this->options['extras']['prefix'] . 'items` (`feed_id`, `id`, `data`, `posted`) VALUES(:feed, :id, :data, :date)');
-                                                       $query->bindValue(':feed', $this->id);
-                                                       $query->bindValue(':id', $new_id);
-                                                       $query->bindValue(':data', serialize($prepared[1][$new_id]->data));
-                                                       $query->bindValue(':date', $date);
-                                                       if (!$query->execute())
-                                                       {
-                                                               return false;
-                                                       }
-                                               }
-                                               return true;
-                                       }
-                               }
-                               else
-                               {
-                                       return true;
-                               }
-                       }
-               }
-               else
-               {
-                       $query = $this->mysql->prepare('SELECT `id` FROM `' . $this->options['extras']['prefix'] . 'cache_data` WHERE `id` = :feed');
-                       $query->bindValue(':feed', $this->id);
-                       if ($query->execute())
-                       {
-                               if ($query->rowCount() > 0)
-                               {
-                                       $query = $this->mysql->prepare('UPDATE `' . $this->options['extras']['prefix'] . 'cache_data` SET `items` = 0, `data` = :data, `mtime` = :time WHERE `id` = :feed');
-                                       $query->bindValue(':data', serialize($data));
-                                       $query->bindValue(':time', time());
-                                       $query->bindValue(':feed', $this->id);
-                                       if ($this->execute())
-                                       {
-                                               return true;
-                                       }
-                               }
-                               else
-                               {
-                                       $query = $this->mysql->prepare('INSERT INTO `' . $this->options['extras']['prefix'] . 'cache_data` (`id`, `items`, `data`, `mtime`) VALUES(:id, 0, :data, :time)');
-                                       $query->bindValue(':id', $this->id);
-                                       $query->bindValue(':data', serialize($data));
-                                       $query->bindValue(':time', time());
-                                       if ($query->execute())
-                                       {
-                                               return true;
-                                       }
-                               }
-                       }
-               }
-               return false;
-       }
-
-       /**
-        * Retrieve the data saved to the cache
-        *
-        * @return array Data for SimplePie::$data
-        */
-       public function load()
-       {
-               if ($this->mysql === null)
-               {
-                       return false;
-               }
-
-               $query = $this->mysql->prepare('SELECT `items`, `data` FROM `' . $this->options['extras']['prefix'] . 'cache_data` WHERE `id` = :id');
-               $query->bindValue(':id', $this->id);
-               if ($query->execute() && ($row = $query->fetch()))
-               {
-                       $data = unserialize($row[1]);
-
-                       if (isset($this->options['items'][0]))
-                       {
-                               $items = (int) $this->options['items'][0];
-                       }
-                       else
-                       {
-                               $items = (int) $row[0];
-                       }
-
-                       if ($items !== 0)
-                       {
-                               if (isset($data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]))
-                               {
-                                       $feed =& $data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0];
-                               }
-                               elseif (isset($data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]))
-                               {
-                                       $feed =& $data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0];
-                               }
-                               elseif (isset($data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]))
-                               {
-                                       $feed =& $data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0];
-                               }
-                               elseif (isset($data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]))
-                               {
-                                       $feed =& $data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0];
-                               }
-                               else
-                               {
-                                       $feed = null;
-                               }
-
-                               if ($feed !== null)
-                               {
-                                       $sql = 'SELECT `data` FROM `' . $this->options['extras']['prefix'] . 'items` WHERE `feed_id` = :feed ORDER BY `posted` DESC';
-                                       if ($items > 0)
-                                       {
-                                               $sql .= ' LIMIT ' . $items;
-                                       }
-
-                                       $query = $this->mysql->prepare($sql);
-                                       $query->bindValue(':feed', $this->id);
-                                       if ($query->execute())
-                                       {
-                                               while ($row = $query->fetchColumn())
-                                               {
-                                                       $feed['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry'][] = unserialize($row);
-                                               }
-                                       }
-                                       else
-                                       {
-                                               return false;
-                                       }
-                               }
-                       }
-                       return $data;
-               }
-               return false;
-       }
-
-       /**
-        * Retrieve the last modified time for the cache
-        *
-        * @return int Timestamp
-        */
-       public function mtime()
-       {
-               if ($this->mysql === null)
-               {
-                       return false;
-               }
-
-               $query = $this->mysql->prepare('SELECT `mtime` FROM `' . $this->options['extras']['prefix'] . 'cache_data` WHERE `id` = :id');
-               $query->bindValue(':id', $this->id);
-               if ($query->execute() && ($time = $query->fetchColumn()))
-               {
-                       return $time;
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       /**
-        * Set the last modified time to the current time
-        *
-        * @return bool Success status
-        */
-       public function touch()
-       {
-               if ($this->mysql === null)
-               {
-                       return false;
-               }
-
-               $query = $this->mysql->prepare('UPDATE `' . $this->options['extras']['prefix'] . 'cache_data` SET `mtime` = :time WHERE `id` = :id');
-               $query->bindValue(':time', time());
-               $query->bindValue(':id', $this->id);
-               if ($query->execute() && $query->rowCount() > 0)
-               {
-                       return true;
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       /**
-        * Remove the cache
-        *
-        * @return bool Success status
-        */
-       public function unlink()
-       {
-               if ($this->mysql === null)
-               {
-                       return false;
-               }
-
-               $query = $this->mysql->prepare('DELETE FROM `' . $this->options['extras']['prefix'] . 'cache_data` WHERE `id` = :id');
-               $query->bindValue(':id', $this->id);
-               $query2 = $this->mysql->prepare('DELETE FROM `' . $this->options['extras']['prefix'] . 'items` WHERE `feed_id` = :id');
-               $query2->bindValue(':id', $this->id);
-               if ($query->execute() && $query2->execute())
-               {
-                       return true;
-               }
-               else
-               {
-                       return false;
-               }
-       }
-}
-
-/**
- * Used to create cache objects
- *
- * This class can be overloaded with {@see SimplePie::set_cache_class()},
- * although the preferred way is to create your own handler
- * via {@see register()}
- *
- * @package SimplePie
- * @subpackage Caching
- */
-class SimplePie_Cache
-{
-       /**
-        * Cache handler classes
-        *
-        * These receive 3 parameters to their constructor, as documented in
-        * {@see register()}
-        * @var array
-        */
-       protected static $handlers = array(
-               'mysql' => 'SimplePie_Cache_MySQL',
-               'memcache' => 'SimplePie_Cache_Memcache',
-       );
-
-       /**
-        * Don't call the constructor. Please.
-        */
-       private function __construct() { }
-
-       /**
-        * Create a new SimplePie_Cache object
-        *
-        * @param string $location URL location (scheme is used to determine handler)
-        * @param string $filename Unique identifier for cache object
-        * @param string $extension 'spi' or 'spc'
-        * @return SimplePie_Cache_Base Type of object depends on scheme of `$location`
-        */
-       public static function get_handler($location, $filename, $extension)
-       {
-               $type = explode(':', $location, 2);
-               $type = $type[0];
-               if (!empty(self::$handlers[$type]))
-               {
-                       $class = self::$handlers[$type];
-                       return new $class($location, $filename, $extension);
-               }
-
-               return new SimplePie_Cache_File($location, $filename, $extension);
-       }
-
-       /**
-        * Create a new SimplePie_Cache object
-        *
-        * @deprecated Use {@see get_handler} instead
-        */
-       public function create($location, $filename, $extension)
-       {
-               trigger_error('Cache::create() has been replaced with Cache::get_handler(). Switch to the registry system to use this.', E_USER_DEPRECATED);
-               return self::get_handler($location, $filename, $extension);
-       }
-
-       /**
-        * Register a handler
-        *
-        * @param string $type DSN type to register for
-        * @param string $class Name of handler class. Must implement SimplePie_Cache_Base
-        */
-       public static function register($type, $class)
-       {
-               self::$handlers[$type] = $class;
-       }
-
-       /**
-        * Parse a URL into an array
-        *
-        * @param string $url
-        * @return array
-        */
-       public static function parse_URL($url)
-       {
-               $params = parse_url($url);
-               $params['extras'] = array();
-               if (isset($params['query']))
-               {
-                       parse_str($params['query'], $params['extras']);
-               }
-               return $params;
-       }
-}
-
-/**
- * Handles `<media:text>` captions as defined in Media RSS.
- *
- * Used by {@see SimplePie_Enclosure::get_caption()} and {@see SimplePie_Enclosure::get_captions()}
- *
- * This class can be overloaded with {@see SimplePie::set_caption_class()}
- *
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie_Caption
-{
-       /**
-        * Content type
-        *
-        * @var string
-        * @see get_type()
-        */
-       var $type;
-
-       /**
-        * Language
-        *
-        * @var string
-        * @see get_language()
-        */
-       var $lang;
-
-       /**
-        * Start time
-        *
-        * @var string
-        * @see get_starttime()
-        */
-       var $startTime;
-
-       /**
-        * End time
-        *
-        * @var string
-        * @see get_endtime()
-        */
-       var $endTime;
-
-       /**
-        * Caption text
-        *
-        * @var string
-        * @see get_text()
-        */
-       var $text;
-
-       /**
-        * Constructor, used to input the data
-        *
-        * For documentation on all the parameters, see the corresponding
-        * properties and their accessors
-        */
-       public function __construct($type = null, $lang = null, $startTime = null, $endTime = null, $text = null)
-       {
-               $this->type = $type;
-               $this->lang = $lang;
-               $this->startTime = $startTime;
-               $this->endTime = $endTime;
-               $this->text = $text;
-       }
-
-       /**
-        * String-ified version
-        *
-        * @return string
-        */
-       public function __toString()
-       {
-               // There is no $this->data here
-               return md5(serialize($this));
-       }
-
-       /**
-        * Get the end time
-        *
-        * @return string|null Time in the format 'hh:mm:ss.SSS'
-        */
-       public function get_endtime()
-       {
-               if ($this->endTime !== null)
-               {
-                       return $this->endTime;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the language
-        *
-        * @link http://tools.ietf.org/html/rfc3066
-        * @return string|null Language code as per RFC 3066
-        */
-       public function get_language()
-       {
-               if ($this->lang !== null)
-               {
-                       return $this->lang;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the start time
-        *
-        * @return string|null Time in the format 'hh:mm:ss.SSS'
-        */
-       public function get_starttime()
-       {
-               if ($this->startTime !== null)
-               {
-                       return $this->startTime;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the text of the caption
-        *
-        * @return string|null
-        */
-       public function get_text()
-       {
-               if ($this->text !== null)
-               {
-                       return $this->text;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the content type (not MIME type)
-        *
-        * @return string|null Either 'text' or 'html'
-        */
-       public function get_type()
-       {
-               if ($this->type !== null)
-               {
-                       return $this->type;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-}
-
-/**
- * Manages all category-related data
- *
- * Used by {@see SimplePie_Item::get_category()} and {@see SimplePie_Item::get_categories()}
- *
- * This class can be overloaded with {@see SimplePie::set_category_class()}
- *
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie_Category
-{
-       /**
-        * Category identifier
-        *
-        * @var string
-        * @see get_term
-        */
-       var $term;
-
-       /**
-        * Categorization scheme identifier
-        *
-        * @var string
-        * @see get_scheme()
-        */
-       var $scheme;
-
-       /**
-        * Human readable label
-        *
-        * @var string
-        * @see get_label()
-        */
-       var $label;
-
-       /**
-        * Constructor, used to input the data
-        *
-        * @param string $term
-        * @param string $scheme
-        * @param string $label
-        */
-       public function __construct($term = null, $scheme = null, $label = null)
-       {
-               $this->term = $term;
-               $this->scheme = $scheme;
-               $this->label = $label;
-       }
-
-       /**
-        * String-ified version
-        *
-        * @return string
-        */
-       public function __toString()
-       {
-               // There is no $this->data here
-               return md5(serialize($this));
-       }
-
-       /**
-        * Get the category identifier
-        *
-        * @return string|null
-        */
-       public function get_term()
-       {
-               if ($this->term !== null)
-               {
-                       return $this->term;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the categorization scheme identifier
-        *
-        * @return string|null
-        */
-       public function get_scheme()
-       {
-               if ($this->scheme !== null)
-               {
-                       return $this->scheme;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the human readable label
-        *
-        * @return string|null
-        */
-       public function get_label()
-       {
-               if ($this->label !== null)
-               {
-                       return $this->label;
-               }
-               else
-               {
-                       return $this->get_term();
-               }
-       }
-}
-
-/**
- * Content-type sniffing
- *
- * Based on the rules in http://tools.ietf.org/html/draft-abarth-mime-sniff-06
- *
- * This is used since we can't always trust Content-Type headers, and is based
- * upon the HTML5 parsing rules.
- *
- *
- * This class can be overloaded with {@see SimplePie::set_content_type_sniffer_class()}
- *
- * @package SimplePie
- * @subpackage HTTP
- */
-class SimplePie_Content_Type_Sniffer
-{
-       /**
-        * File object
-        *
-        * @var SimplePie_File
-        */
-       var $file;
-
-       /**
-        * Create an instance of the class with the input file
-        *
-        * @param SimplePie_Content_Type_Sniffer $file Input file
-        */
-       public function __construct($file)
-       {
-               $this->file = $file;
-       }
-
-       /**
-        * Get the Content-Type of the specified file
-        *
-        * @return string Actual Content-Type
-        */
-       public function get_type()
-       {
-               if (isset($this->file->headers['content-type']))
-               {
-                       if (!isset($this->file->headers['content-encoding'])
-                               && ($this->file->headers['content-type'] === 'text/plain'
-                                       || $this->file->headers['content-type'] === 'text/plain; charset=ISO-8859-1'
-                                       || $this->file->headers['content-type'] === 'text/plain; charset=iso-8859-1'
-                                       || $this->file->headers['content-type'] === 'text/plain; charset=UTF-8'))
-                       {
-                               return $this->text_or_binary();
-                       }
-
-                       if (($pos = strpos($this->file->headers['content-type'], ';')) !== false)
-                       {
-                               $official = substr($this->file->headers['content-type'], 0, $pos);
-                       }
-                       else
-                       {
-                               $official = $this->file->headers['content-type'];
-                       }
-                       $official = trim(strtolower($official));
-
-                       if ($official === 'unknown/unknown'
-                               || $official === 'application/unknown')
-                       {
-                               return $this->unknown();
-                       }
-                       elseif (substr($official, -4) === '+xml'
-                               || $official === 'text/xml'
-                               || $official === 'application/xml')
-                       {
-                               return $official;
-                       }
-                       elseif (substr($official, 0, 6) === 'image/')
-                       {
-                               if ($return = $this->image())
-                               {
-                                       return $return;
-                               }
-                               else
-                               {
-                                       return $official;
-                               }
-                       }
-                       elseif ($official === 'text/html')
-                       {
-                               return $this->feed_or_html();
-                       }
-                       else
-                       {
-                               return $official;
-                       }
-               }
-               else
-               {
-                       return $this->unknown();
-               }
-       }
-
-       /**
-        * Sniff text or binary
-        *
-        * @return string Actual Content-Type
-        */
-       public function text_or_binary()
-       {
-               if (substr($this->file->body, 0, 2) === "\xFE\xFF"
-                       || substr($this->file->body, 0, 2) === "\xFF\xFE"
-                       || substr($this->file->body, 0, 4) === "\x00\x00\xFE\xFF"
-                       || substr($this->file->body, 0, 3) === "\xEF\xBB\xBF")
-               {
-                       return 'text/plain';
-               }
-               elseif (preg_match('/[\x00-\x08\x0E-\x1A\x1C-\x1F]/', $this->file->body))
-               {
-                       return 'application/octect-stream';
-               }
-               else
-               {
-                       return 'text/plain';
-               }
-       }
-
-       /**
-        * Sniff unknown
-        *
-        * @return string Actual Content-Type
-        */
-       public function unknown()
-       {
-               $ws = strspn($this->file->body, "\x09\x0A\x0B\x0C\x0D\x20");
-               if (strtolower(substr($this->file->body, $ws, 14)) === '<!doctype html'
-                       || strtolower(substr($this->file->body, $ws, 5)) === '<html'
-                       || strtolower(substr($this->file->body, $ws, 7)) === '<script')
-               {
-                       return 'text/html';
-               }
-               elseif (substr($this->file->body, 0, 5) === '%PDF-')
-               {
-                       return 'application/pdf';
-               }
-               elseif (substr($this->file->body, 0, 11) === '%!PS-Adobe-')
-               {
-                       return 'application/postscript';
-               }
-               elseif (substr($this->file->body, 0, 6) === 'GIF87a'
-                       || substr($this->file->body, 0, 6) === 'GIF89a')
-               {
-                       return 'image/gif';
-               }
-               elseif (substr($this->file->body, 0, 8) === "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A")
-               {
-                       return 'image/png';
-               }
-               elseif (substr($this->file->body, 0, 3) === "\xFF\xD8\xFF")
-               {
-                       return 'image/jpeg';
-               }
-               elseif (substr($this->file->body, 0, 2) === "\x42\x4D")
-               {
-                       return 'image/bmp';
-               }
-               elseif (substr($this->file->body, 0, 4) === "\x00\x00\x01\x00")
-               {
-                       return 'image/vnd.microsoft.icon';
-               }
-               else
-               {
-                       return $this->text_or_binary();
-               }
-       }
-
-       /**
-        * Sniff images
-        *
-        * @return string Actual Content-Type
-        */
-       public function image()
-       {
-               if (substr($this->file->body, 0, 6) === 'GIF87a'
-                       || substr($this->file->body, 0, 6) === 'GIF89a')
-               {
-                       return 'image/gif';
-               }
-               elseif (substr($this->file->body, 0, 8) === "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A")
-               {
-                       return 'image/png';
-               }
-               elseif (substr($this->file->body, 0, 3) === "\xFF\xD8\xFF")
-               {
-                       return 'image/jpeg';
-               }
-               elseif (substr($this->file->body, 0, 2) === "\x42\x4D")
-               {
-                       return 'image/bmp';
-               }
-               elseif (substr($this->file->body, 0, 4) === "\x00\x00\x01\x00")
-               {
-                       return 'image/vnd.microsoft.icon';
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       /**
-        * Sniff HTML
-        *
-        * @return string Actual Content-Type
-        */
-       public function feed_or_html()
-       {
-               $len = strlen($this->file->body);
-               $pos = strspn($this->file->body, "\x09\x0A\x0D\x20");
-
-               while ($pos < $len)
-               {
-                       switch ($this->file->body[$pos])
-                       {
-                               case "\x09":
-                               case "\x0A":
-                               case "\x0D":
-                               case "\x20":
-                                       $pos += strspn($this->file->body, "\x09\x0A\x0D\x20", $pos);
-                                       continue 2;
-
-                               case '<':
-                                       $pos++;
-                                       break;
-
-                               default:
-                                       return 'text/html';
-                       }
-
-                       if (substr($this->file->body, $pos, 3) === '!--')
-                       {
-                               $pos += 3;
-                               if ($pos < $len && ($pos = strpos($this->file->body, '-->', $pos)) !== false)
-                               {
-                                       $pos += 3;
-                               }
-                               else
-                               {
-                                       return 'text/html';
-                               }
-                       }
-                       elseif (substr($this->file->body, $pos, 1) === '!')
-                       {
-                               if ($pos < $len && ($pos = strpos($this->file->body, '>', $pos)) !== false)
-                               {
-                                       $pos++;
-                               }
-                               else
-                               {
-                                       return 'text/html';
-                               }
-                       }
-                       elseif (substr($this->file->body, $pos, 1) === '?')
-                       {
-                               if ($pos < $len && ($pos = strpos($this->file->body, '?>', $pos)) !== false)
-                               {
-                                       $pos += 2;
-                               }
-                               else
-                               {
-                                       return 'text/html';
-                               }
-                       }
-                       elseif (substr($this->file->body, $pos, 3) === 'rss'
-                               || substr($this->file->body, $pos, 7) === 'rdf:RDF')
-                       {
-                               return 'application/rss+xml';
-                       }
-                       elseif (substr($this->file->body, $pos, 4) === 'feed')
-                       {
-                               return 'application/atom+xml';
-                       }
-                       else
-                       {
-                               return 'text/html';
-                       }
-               }
-
-               return 'text/html';
-       }
-}
-
-/**
- * Manages `<media:copyright>` copyright tags as defined in Media RSS
- *
- * Used by {@see SimplePie_Enclosure::get_copyright()}
- *
- * This class can be overloaded with {@see SimplePie::set_copyright_class()}
- *
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie_Copyright
-{
-       /**
-        * Copyright URL
-        *
-        * @var string
-        * @see get_url()
-        */
-       var $url;
-
-       /**
-        * Attribution
-        *
-        * @var string
-        * @see get_attribution()
-        */
-       var $label;
-
-       /**
-        * Constructor, used to input the data
-        *
-        * For documentation on all the parameters, see the corresponding
-        * properties and their accessors
-        */
-       public function __construct($url = null, $label = null)
-       {
-               $this->url = $url;
-               $this->label = $label;
-       }
-
-       /**
-        * String-ified version
-        *
-        * @return string
-        */
-       public function __toString()
-       {
-               // There is no $this->data here
-               return md5(serialize($this));
-       }
-
-       /**
-        * Get the copyright URL
-        *
-        * @return string|null URL to copyright information
-        */
-       public function get_url()
-       {
-               if ($this->url !== null)
-               {
-                       return $this->url;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the attribution text
-        *
-        * @return string|null
-        */
-       public function get_attribution()
-       {
-               if ($this->label !== null)
-               {
-                       return $this->label;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-}
-
-/**
- * SimplePie class.
- *
- * Class for backward compatibility.
- *
- * @deprecated Use {@see SimplePie} directly
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie_Core extends SimplePie
-{
-
-}
-
-/**
- * Handles `<media:credit>` as defined in Media RSS
- *
- * Used by {@see SimplePie_Enclosure::get_credit()} and {@see SimplePie_Enclosure::get_credits()}
- *
- * This class can be overloaded with {@see SimplePie::set_credit_class()}
- *
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie_Credit
-{
-       /**
-        * Credited role
-        *
-        * @var string
-        * @see get_role()
-        */
-       var $role;
-
-       /**
-        * Organizational scheme
-        *
-        * @var string
-        * @see get_scheme()
-        */
-       var $scheme;
-
-       /**
-        * Credited name
-        *
-        * @var string
-        * @see get_name()
-        */
-       var $name;
-
-       /**
-        * Constructor, used to input the data
-        *
-        * For documentation on all the parameters, see the corresponding
-        * properties and their accessors
-        */
-       public function __construct($role = null, $scheme = null, $name = null)
-       {
-               $this->role = $role;
-               $this->scheme = $scheme;
-               $this->name = $name;
-       }
-
-       /**
-        * String-ified version
-        *
-        * @return string
-        */
-       public function __toString()
-       {
-               // There is no $this->data here
-               return md5(serialize($this));
-       }
-
-       /**
-        * Get the role of the person receiving credit
-        *
-        * @return string|null
-        */
-       public function get_role()
-       {
-               if ($this->role !== null)
-               {
-                       return $this->role;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the organizational scheme
-        *
-        * @return string|null
-        */
-       public function get_scheme()
-       {
-               if ($this->scheme !== null)
-               {
-                       return $this->scheme;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the credited person/entity's name
-        *
-        * @return string|null
-        */
-       public function get_name()
-       {
-               if ($this->name !== null)
-               {
-                       return $this->name;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-}
-
-/**
- * Decode HTML Entities
- *
- * This implements HTML5 as of revision 967 (2007-06-28)
- *
- * @deprecated Use DOMDocument instead!
- * @package SimplePie
- */
-class SimplePie_Decode_HTML_Entities
-{
-       /**
-        * Data to be parsed
-        *
-        * @access private
-        * @var string
-        */
-       var $data = '';
-
-       /**
-        * Currently consumed bytes
-        *
-        * @access private
-        * @var string
-        */
-       var $consumed = '';
-
-       /**
-        * Position of the current byte being parsed
-        *
-        * @access private
-        * @var int
-        */
-       var $position = 0;
-
-       /**
-        * Create an instance of the class with the input data
-        *
-        * @access public
-        * @param string $data Input data
-        */
-       public function __construct($data)
-       {
-               $this->data = $data;
-       }
-
-       /**
-        * Parse the input data
-        *
-        * @access public
-        * @return string Output data
-        */
-       public function parse()
-       {
-               while (($this->position = strpos($this->data, '&', $this->position)) !== false)
-               {
-                       $this->consume();
-                       $this->entity();
-                       $this->consumed = '';
-               }
-               return $this->data;
-       }
-
-       /**
-        * Consume the next byte
-        *
-        * @access private
-        * @return mixed The next byte, or false, if there is no more data
-        */
-       public function consume()
-       {
-               if (isset($this->data[$this->position]))
-               {
-                       $this->consumed .= $this->data[$this->position];
-                       return $this->data[$this->position++];
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       /**
-        * Consume a range of characters
-        *
-        * @access private
-        * @param string $chars Characters to consume
-        * @return mixed A series of characters that match the range, or false
-        */
-       public function consume_range($chars)
-       {
-               if ($len = strspn($this->data, $chars, $this->position))
-               {
-                       $data = substr($this->data, $this->position, $len);
-                       $this->consumed .= $data;
-                       $this->position += $len;
-                       return $data;
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       /**
-        * Unconsume one byte
-        *
-        * @access private
-        */
-       public function unconsume()
-       {
-               $this->consumed = substr($this->consumed, 0, -1);
-               $this->position--;
-       }
-
-       /**
-        * Decode an entity
-        *
-        * @access private
-        */
-       public function entity()
-       {
-               switch ($this->consume())
-               {
-                       case "\x09":
-                       case "\x0A":
-                       case "\x0B":
-                       case "\x0B":
-                       case "\x0C":
-                       case "\x20":
-                       case "\x3C":
-                       case "\x26":
-                       case false:
-                               break;
-
-                       case "\x23":
-                               switch ($this->consume())
-                               {
-                                       case "\x78":
-                                       case "\x58":
-                                               $range = '0123456789ABCDEFabcdef';
-                                               $hex = true;
-                                               break;
-
-                                       default:
-                                               $range = '0123456789';
-                                               $hex = false;
-                                               $this->unconsume();
-                                               break;
-                               }
-
-                               if ($codepoint = $this->consume_range($range))
-                               {
-                                       static $windows_1252_specials = array(0x0D => "\x0A", 0x80 => "\xE2\x82\xAC", 0x81 => "\xEF\xBF\xBD", 0x82 => "\xE2\x80\x9A", 0x83 => "\xC6\x92", 0x84 => "\xE2\x80\x9E", 0x85 => "\xE2\x80\xA6", 0x86 => "\xE2\x80\xA0", 0x87 => "\xE2\x80\xA1", 0x88 => "\xCB\x86", 0x89 => "\xE2\x80\xB0", 0x8A => "\xC5\xA0", 0x8B => "\xE2\x80\xB9", 0x8C => "\xC5\x92", 0x8D => "\xEF\xBF\xBD", 0x8E => "\xC5\xBD", 0x8F => "\xEF\xBF\xBD", 0x90 => "\xEF\xBF\xBD", 0x91 => "\xE2\x80\x98", 0x92 => "\xE2\x80\x99", 0x93 => "\xE2\x80\x9C", 0x94 => "\xE2\x80\x9D", 0x95 => "\xE2\x80\xA2", 0x96 => "\xE2\x80\x93", 0x97 => "\xE2\x80\x94", 0x98 => "\xCB\x9C", 0x99 => "\xE2\x84\xA2", 0x9A => "\xC5\xA1", 0x9B => "\xE2\x80\xBA", 0x9C => "\xC5\x93", 0x9D => "\xEF\xBF\xBD", 0x9E => "\xC5\xBE", 0x9F => "\xC5\xB8");
-
-                                       if ($hex)
-                                       {
-                                               $codepoint = hexdec($codepoint);
-                                       }
-                                       else
-                                       {
-                                               $codepoint = intval($codepoint);
-                                       }
-
-                                       if (isset($windows_1252_specials[$codepoint]))
-                                       {
-                                               $replacement = $windows_1252_specials[$codepoint];
-                                       }
-                                       else
-                                       {
-                                               $replacement = SimplePie_Misc::codepoint_to_utf8($codepoint);
-                                       }
-
-                                       if (!in_array($this->consume(), array(';', false), true))
-                                       {
-                                               $this->unconsume();
-                                       }
-
-                                       $consumed_length = strlen($this->consumed);
-                                       $this->data = substr_replace($this->data, $replacement, $this->position - $consumed_length, $consumed_length);
-                                       $this->position += strlen($replacement) - $consumed_length;
-                               }
-                               break;
-
-                       default:
-                               static $entities = array(
-                                       'Aacute' => "\xC3\x81",
-                                       'aacute' => "\xC3\xA1",
-                                       'Aacute;' => "\xC3\x81",
-                                       'aacute;' => "\xC3\xA1",
-                                       'Acirc' => "\xC3\x82",
-                                       'acirc' => "\xC3\xA2",
-                                       'Acirc;' => "\xC3\x82",
-                                       'acirc;' => "\xC3\xA2",
-                                       'acute' => "\xC2\xB4",
-                                       'acute;' => "\xC2\xB4",
-                                       'AElig' => "\xC3\x86",
-                                       'aelig' => "\xC3\xA6",
-                                       'AElig;' => "\xC3\x86",
-                                       'aelig;' => "\xC3\xA6",
-                                       'Agrave' => "\xC3\x80",
-                                       'agrave' => "\xC3\xA0",
-                                       'Agrave;' => "\xC3\x80",
-                                       'agrave;' => "\xC3\xA0",
-                                       'alefsym;' => "\xE2\x84\xB5",
-                                       'Alpha;' => "\xCE\x91",
-                                       'alpha;' => "\xCE\xB1",
-                                       'AMP' => "\x26",
-                                       'amp' => "\x26",
-                                       'AMP;' => "\x26",
-                                       'amp;' => "\x26",
-                                       'and;' => "\xE2\x88\xA7",
-                                       'ang;' => "\xE2\x88\xA0",
-                                       'apos;' => "\x27",
-                                       'Aring' => "\xC3\x85",
-                                       'aring' => "\xC3\xA5",
-                                       'Aring;' => "\xC3\x85",
-                                       'aring;' => "\xC3\xA5",
-                                       'asymp;' => "\xE2\x89\x88",
-                                       'Atilde' => "\xC3\x83",
-                                       'atilde' => "\xC3\xA3",
-                                       'Atilde;' => "\xC3\x83",
-                                       'atilde;' => "\xC3\xA3",
-                                       'Auml' => "\xC3\x84",
-                                       'auml' => "\xC3\xA4",
-                                       'Auml;' => "\xC3\x84",
-                                       'auml;' => "\xC3\xA4",
-                                       'bdquo;' => "\xE2\x80\x9E",
-                                       'Beta;' => "\xCE\x92",
-                                       'beta;' => "\xCE\xB2",
-                                       'brvbar' => "\xC2\xA6",
-                                       'brvbar;' => "\xC2\xA6",
-                                       'bull;' => "\xE2\x80\xA2",
-                                       'cap;' => "\xE2\x88\xA9",
-                                       'Ccedil' => "\xC3\x87",
-                                       'ccedil' => "\xC3\xA7",
-                                       'Ccedil;' => "\xC3\x87",
-                                       'ccedil;' => "\xC3\xA7",
-                                       'cedil' => "\xC2\xB8",
-                                       'cedil;' => "\xC2\xB8",
-                                       'cent' => "\xC2\xA2",
-                                       'cent;' => "\xC2\xA2",
-                                       'Chi;' => "\xCE\xA7",
-                                       'chi;' => "\xCF\x87",
-                                       'circ;' => "\xCB\x86",
-                                       'clubs;' => "\xE2\x99\xA3",
-                                       'cong;' => "\xE2\x89\x85",
-                                       'COPY' => "\xC2\xA9",
-                                       'copy' => "\xC2\xA9",
-                                       'COPY;' => "\xC2\xA9",
-                                       'copy;' => "\xC2\xA9",
-                                       'crarr;' => "\xE2\x86\xB5",
-                                       'cup;' => "\xE2\x88\xAA",
-                                       'curren' => "\xC2\xA4",
-                                       'curren;' => "\xC2\xA4",
-                                       'Dagger;' => "\xE2\x80\xA1",
-                                       'dagger;' => "\xE2\x80\xA0",
-                                       'dArr;' => "\xE2\x87\x93",
-                                       'darr;' => "\xE2\x86\x93",
-                                       'deg' => "\xC2\xB0",
-                                       'deg;' => "\xC2\xB0",
-                                       'Delta;' => "\xCE\x94",
-                                       'delta;' => "\xCE\xB4",
-                                       'diams;' => "\xE2\x99\xA6",
-                                       'divide' => "\xC3\xB7",
-                                       'divide;' => "\xC3\xB7",
-                                       'Eacute' => "\xC3\x89",
-                                       'eacute' => "\xC3\xA9",
-                                       'Eacute;' => "\xC3\x89",
-                                       'eacute;' => "\xC3\xA9",
-                                       'Ecirc' => "\xC3\x8A",
-                                       'ecirc' => "\xC3\xAA",
-                                       'Ecirc;' => "\xC3\x8A",
-                                       'ecirc;' => "\xC3\xAA",
-                                       'Egrave' => "\xC3\x88",
-                                       'egrave' => "\xC3\xA8",
-                                       'Egrave;' => "\xC3\x88",
-                                       'egrave;' => "\xC3\xA8",
-                                       'empty;' => "\xE2\x88\x85",
-                                       'emsp;' => "\xE2\x80\x83",
-                                       'ensp;' => "\xE2\x80\x82",
-                                       'Epsilon;' => "\xCE\x95",
-                                       'epsilon;' => "\xCE\xB5",
-                                       'equiv;' => "\xE2\x89\xA1",
-                                       'Eta;' => "\xCE\x97",
-                                       'eta;' => "\xCE\xB7",
-                                       'ETH' => "\xC3\x90",
-                                       'eth' => "\xC3\xB0",
-                                       'ETH;' => "\xC3\x90",
-                                       'eth;' => "\xC3\xB0",
-                                       'Euml' => "\xC3\x8B",
-                                       'euml' => "\xC3\xAB",
-                                       'Euml;' => "\xC3\x8B",
-                                       'euml;' => "\xC3\xAB",
-                                       'euro;' => "\xE2\x82\xAC",
-                                       'exist;' => "\xE2\x88\x83",
-                                       'fnof;' => "\xC6\x92",
-                                       'forall;' => "\xE2\x88\x80",
-                                       'frac12' => "\xC2\xBD",
-                                       'frac12;' => "\xC2\xBD",
-                                       'frac14' => "\xC2\xBC",
-                                       'frac14;' => "\xC2\xBC",
-                                       'frac34' => "\xC2\xBE",
-                                       'frac34;' => "\xC2\xBE",
-                                       'frasl;' => "\xE2\x81\x84",
-                                       'Gamma;' => "\xCE\x93",
-                                       'gamma;' => "\xCE\xB3",
-                                       'ge;' => "\xE2\x89\xA5",
-                                       'GT' => "\x3E",
-                                       'gt' => "\x3E",
-                                       'GT;' => "\x3E",
-                                       'gt;' => "\x3E",
-                                       'hArr;' => "\xE2\x87\x94",
-                                       'harr;' => "\xE2\x86\x94",
-                                       'hearts;' => "\xE2\x99\xA5",
-                                       'hellip;' => "\xE2\x80\xA6",
-                                       'Iacute' => "\xC3\x8D",
-                                       'iacute' => "\xC3\xAD",
-                                       'Iacute;' => "\xC3\x8D",
-                                       'iacute;' => "\xC3\xAD",
-                                       'Icirc' => "\xC3\x8E",
-                                       'icirc' => "\xC3\xAE",
-                                       'Icirc;' => "\xC3\x8E",
-                                       'icirc;' => "\xC3\xAE",
-                                       'iexcl' => "\xC2\xA1",
-                                       'iexcl;' => "\xC2\xA1",
-                                       'Igrave' => "\xC3\x8C",
-                                       'igrave' => "\xC3\xAC",
-                                       'Igrave;' => "\xC3\x8C",
-                                       'igrave;' => "\xC3\xAC",
-                                       'image;' => "\xE2\x84\x91",
-                                       'infin;' => "\xE2\x88\x9E",
-                                       'int;' => "\xE2\x88\xAB",
-                                       'Iota;' => "\xCE\x99",
-                                       'iota;' => "\xCE\xB9",
-                                       'iquest' => "\xC2\xBF",
-                                       'iquest;' => "\xC2\xBF",
-                                       'isin;' => "\xE2\x88\x88",
-                                       'Iuml' => "\xC3\x8F",
-                                       'iuml' => "\xC3\xAF",
-                                       'Iuml;' => "\xC3\x8F",
-                                       'iuml;' => "\xC3\xAF",
-                                       'Kappa;' => "\xCE\x9A",
-                                       'kappa;' => "\xCE\xBA",
-                                       'Lambda;' => "\xCE\x9B",
-                                       'lambda;' => "\xCE\xBB",
-                                       'lang;' => "\xE3\x80\x88",
-                                       'laquo' => "\xC2\xAB",
-                                       'laquo;' => "\xC2\xAB",
-                                       'lArr;' => "\xE2\x87\x90",
-                                       'larr;' => "\xE2\x86\x90",
-                                       'lceil;' => "\xE2\x8C\x88",
-                                       'ldquo;' => "\xE2\x80\x9C",
-                                       'le;' => "\xE2\x89\xA4",
-                                       'lfloor;' => "\xE2\x8C\x8A",
-                                       'lowast;' => "\xE2\x88\x97",
-                                       'loz;' => "\xE2\x97\x8A",
-                                       'lrm;' => "\xE2\x80\x8E",
-                                       'lsaquo;' => "\xE2\x80\xB9",
-                                       'lsquo;' => "\xE2\x80\x98",
-                                       'LT' => "\x3C",
-                                       'lt' => "\x3C",
-                                       'LT;' => "\x3C",
-                                       'lt;' => "\x3C",
-                                       'macr' => "\xC2\xAF",
-                                       'macr;' => "\xC2\xAF",
-                                       'mdash;' => "\xE2\x80\x94",
-                                       'micro' => "\xC2\xB5",
-                                       'micro;' => "\xC2\xB5",
-                                       'middot' => "\xC2\xB7",
-                                       'middot;' => "\xC2\xB7",
-                                       'minus;' => "\xE2\x88\x92",
-                                       'Mu;' => "\xCE\x9C",
-                                       'mu;' => "\xCE\xBC",
-                                       'nabla;' => "\xE2\x88\x87",
-                                       'nbsp' => "\xC2\xA0",
-                                       'nbsp;' => "\xC2\xA0",
-                                       'ndash;' => "\xE2\x80\x93",
-                                       'ne;' => "\xE2\x89\xA0",
-                                       'ni;' => "\xE2\x88\x8B",
-                                       'not' => "\xC2\xAC",
-                                       'not;' => "\xC2\xAC",
-                                       'notin;' => "\xE2\x88\x89",
-                                       'nsub;' => "\xE2\x8A\x84",
-                                       'Ntilde' => "\xC3\x91",
-                                       'ntilde' => "\xC3\xB1",
-                                       'Ntilde;' => "\xC3\x91",
-                                       'ntilde;' => "\xC3\xB1",
-                                       'Nu;' => "\xCE\x9D",
-                                       'nu;' => "\xCE\xBD",
-                                       'Oacute' => "\xC3\x93",
-                                       'oacute' => "\xC3\xB3",
-                                       'Oacute;' => "\xC3\x93",
-                                       'oacute;' => "\xC3\xB3",
-                                       'Ocirc' => "\xC3\x94",
-                                       'ocirc' => "\xC3\xB4",
-                                       'Ocirc;' => "\xC3\x94",
-                                       'ocirc;' => "\xC3\xB4",
-                                       'OElig;' => "\xC5\x92",
-                                       'oelig;' => "\xC5\x93",
-                                       'Ograve' => "\xC3\x92",
-                                       'ograve' => "\xC3\xB2",
-                                       'Ograve;' => "\xC3\x92",
-                                       'ograve;' => "\xC3\xB2",
-                                       'oline;' => "\xE2\x80\xBE",
-                                       'Omega;' => "\xCE\xA9",
-                                       'omega;' => "\xCF\x89",
-                                       'Omicron;' => "\xCE\x9F",
-                                       'omicron;' => "\xCE\xBF",
-                                       'oplus;' => "\xE2\x8A\x95",
-                                       'or;' => "\xE2\x88\xA8",
-                                       'ordf' => "\xC2\xAA",
-                                       'ordf;' => "\xC2\xAA",
-                                       'ordm' => "\xC2\xBA",
-                                       'ordm;' => "\xC2\xBA",
-                                       'Oslash' => "\xC3\x98",
-                                       'oslash' => "\xC3\xB8",
-                                       'Oslash;' => "\xC3\x98",
-                                       'oslash;' => "\xC3\xB8",
-                                       'Otilde' => "\xC3\x95",
-                                       'otilde' => "\xC3\xB5",
-                                       'Otilde;' => "\xC3\x95",
-                                       'otilde;' => "\xC3\xB5",
-                                       'otimes;' => "\xE2\x8A\x97",
-                                       'Ouml' => "\xC3\x96",
-                                       'ouml' => "\xC3\xB6",
-                                       'Ouml;' => "\xC3\x96",
-                                       'ouml;' => "\xC3\xB6",
-                                       'para' => "\xC2\xB6",
-                                       'para;' => "\xC2\xB6",
-                                       'part;' => "\xE2\x88\x82",
-                                       'permil;' => "\xE2\x80\xB0",
-                                       'perp;' => "\xE2\x8A\xA5",
-                                       'Phi;' => "\xCE\xA6",
-                                       'phi;' => "\xCF\x86",
-                                       'Pi;' => "\xCE\xA0",
-                                       'pi;' => "\xCF\x80",
-                                       'piv;' => "\xCF\x96",
-                                       'plusmn' => "\xC2\xB1",
-                                       'plusmn;' => "\xC2\xB1",
-                                       'pound' => "\xC2\xA3",
-                                       'pound;' => "\xC2\xA3",
-                                       'Prime;' => "\xE2\x80\xB3",
-                                       'prime;' => "\xE2\x80\xB2",
-                                       'prod;' => "\xE2\x88\x8F",
-                                       'prop;' => "\xE2\x88\x9D",
-                                       'Psi;' => "\xCE\xA8",
-                                       'psi;' => "\xCF\x88",
-                                       'QUOT' => "\x22",
-                                       'quot' => "\x22",
-                                       'QUOT;' => "\x22",
-                                       'quot;' => "\x22",
-                                       'radic;' => "\xE2\x88\x9A",
-                                       'rang;' => "\xE3\x80\x89",
-                                       'raquo' => "\xC2\xBB",
-                                       'raquo;' => "\xC2\xBB",
-                                       'rArr;' => "\xE2\x87\x92",
-                                       'rarr;' => "\xE2\x86\x92",
-                                       'rceil;' => "\xE2\x8C\x89",
-                                       'rdquo;' => "\xE2\x80\x9D",
-                                       'real;' => "\xE2\x84\x9C",
-                                       'REG' => "\xC2\xAE",
-                                       'reg' => "\xC2\xAE",
-                                       'REG;' => "\xC2\xAE",
-                                       'reg;' => "\xC2\xAE",
-                                       'rfloor;' => "\xE2\x8C\x8B",
-                                       'Rho;' => "\xCE\xA1",
-                                       'rho;' => "\xCF\x81",
-                                       'rlm;' => "\xE2\x80\x8F",
-                                       'rsaquo;' => "\xE2\x80\xBA",
-                                       'rsquo;' => "\xE2\x80\x99",
-                                       'sbquo;' => "\xE2\x80\x9A",
-                                       'Scaron;' => "\xC5\xA0",
-                                       'scaron;' => "\xC5\xA1",
-                                       'sdot;' => "\xE2\x8B\x85",
-                                       'sect' => "\xC2\xA7",
-                                       'sect;' => "\xC2\xA7",
-                                       'shy' => "\xC2\xAD",
-                                       'shy;' => "\xC2\xAD",
-                                       'Sigma;' => "\xCE\xA3",
-                                       'sigma;' => "\xCF\x83",
-                                       'sigmaf;' => "\xCF\x82",
-                                       'sim;' => "\xE2\x88\xBC",
-                                       'spades;' => "\xE2\x99\xA0",
-                                       'sub;' => "\xE2\x8A\x82",
-                                       'sube;' => "\xE2\x8A\x86",
-                                       'sum;' => "\xE2\x88\x91",
-                                       'sup;' => "\xE2\x8A\x83",
-                                       'sup1' => "\xC2\xB9",
-                                       'sup1;' => "\xC2\xB9",
-                                       'sup2' => "\xC2\xB2",
-                                       'sup2;' => "\xC2\xB2",
-                                       'sup3' => "\xC2\xB3",
-                                       'sup3;' => "\xC2\xB3",
-                                       'supe;' => "\xE2\x8A\x87",
-                                       'szlig' => "\xC3\x9F",
-                                       'szlig;' => "\xC3\x9F",
-                                       'Tau;' => "\xCE\xA4",
-                                       'tau;' => "\xCF\x84",
-                                       'there4;' => "\xE2\x88\xB4",
-                                       'Theta;' => "\xCE\x98",
-                                       'theta;' => "\xCE\xB8",
-                                       'thetasym;' => "\xCF\x91",
-                                       'thinsp;' => "\xE2\x80\x89",
-                                       'THORN' => "\xC3\x9E",
-                                       'thorn' => "\xC3\xBE",
-                                       'THORN;' => "\xC3\x9E",
-                                       'thorn;' => "\xC3\xBE",
-                                       'tilde;' => "\xCB\x9C",
-                                       'times' => "\xC3\x97",
-                                       'times;' => "\xC3\x97",
-                                       'TRADE;' => "\xE2\x84\xA2",
-                                       'trade;' => "\xE2\x84\xA2",
-                                       'Uacute' => "\xC3\x9A",
-                                       'uacute' => "\xC3\xBA",
-                                       'Uacute;' => "\xC3\x9A",
-                                       'uacute;' => "\xC3\xBA",
-                                       'uArr;' => "\xE2\x87\x91",
-                                       'uarr;' => "\xE2\x86\x91",
-                                       'Ucirc' => "\xC3\x9B",
-                                       'ucirc' => "\xC3\xBB",
-                                       'Ucirc;' => "\xC3\x9B",
-                                       'ucirc;' => "\xC3\xBB",
-                                       'Ugrave' => "\xC3\x99",
-                                       'ugrave' => "\xC3\xB9",
-                                       'Ugrave;' => "\xC3\x99",
-                                       'ugrave;' => "\xC3\xB9",
-                                       'uml' => "\xC2\xA8",
-                                       'uml;' => "\xC2\xA8",
-                                       'upsih;' => "\xCF\x92",
-                                       'Upsilon;' => "\xCE\xA5",
-                                       'upsilon;' => "\xCF\x85",
-                                       'Uuml' => "\xC3\x9C",
-                                       'uuml' => "\xC3\xBC",
-                                       'Uuml;' => "\xC3\x9C",
-                                       'uuml;' => "\xC3\xBC",
-                                       'weierp;' => "\xE2\x84\x98",
-                                       'Xi;' => "\xCE\x9E",
-                                       'xi;' => "\xCE\xBE",
-                                       'Yacute' => "\xC3\x9D",
-                                       'yacute' => "\xC3\xBD",
-                                       'Yacute;' => "\xC3\x9D",
-                                       'yacute;' => "\xC3\xBD",
-                                       'yen' => "\xC2\xA5",
-                                       'yen;' => "\xC2\xA5",
-                                       'yuml' => "\xC3\xBF",
-                                       'Yuml;' => "\xC5\xB8",
-                                       'yuml;' => "\xC3\xBF",
-                                       'Zeta;' => "\xCE\x96",
-                                       'zeta;' => "\xCE\xB6",
-                                       'zwj;' => "\xE2\x80\x8D",
-                                       'zwnj;' => "\xE2\x80\x8C"
-                               );
-
-                               for ($i = 0, $match = null; $i < 9 && $this->consume() !== false; $i++)
-                               {
-                                       $consumed = substr($this->consumed, 1);
-                                       if (isset($entities[$consumed]))
-                                       {
-                                               $match = $consumed;
-                                       }
-                               }
-
-                               if ($match !== null)
-                               {
-                                       $this->data = substr_replace($this->data, $entities[$match], $this->position - strlen($consumed) - 1, strlen($match) + 1);
-                                       $this->position += strlen($entities[$match]) - strlen($consumed) - 1;
-                               }
-                               break;
-               }
-       }
-}
-
-/**
- * Handles everything related to enclosures (including Media RSS and iTunes RSS)
- *
- * Used by {@see SimplePie_Item::get_enclosure()} and {@see SimplePie_Item::get_enclosures()}
- *
- * This class can be overloaded with {@see SimplePie::set_enclosure_class()}
- *
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie_Enclosure
-{
-       /**
-        * @var string
-        * @see get_bitrate()
-        */
-       var $bitrate;
-
-       /**
-        * @var array
-        * @see get_captions()
-        */
-       var $captions;
-
-       /**
-        * @var array
-        * @see get_categories()
-        */
-       var $categories;
-
-       /**
-        * @var int
-        * @see get_channels()
-        */
-       var $channels;
-
-       /**
-        * @var SimplePie_Copyright
-        * @see get_copyright()
-        */
-       var $copyright;
-
-       /**
-        * @var array
-        * @see get_credits()
-        */
-       var $credits;
-
-       /**
-        * @var string
-        * @see get_description()
-        */
-       var $description;
-
-       /**
-        * @var int
-        * @see get_duration()
-        */
-       var $duration;
-
-       /**
-        * @var string
-        * @see get_expression()
-        */
-       var $expression;
-
-       /**
-        * @var string
-        * @see get_framerate()
-        */
-       var $framerate;
-
-       /**
-        * @var string
-        * @see get_handler()
-        */
-       var $handler;
-
-       /**
-        * @var array
-        * @see get_hashes()
-        */
-       var $hashes;
-
-       /**
-        * @var string
-        * @see get_height()
-        */
-       var $height;
-
-       /**
-        * @deprecated
-        * @var null
-        */
-       var $javascript;
-
-       /**
-        * @var array
-        * @see get_keywords()
-        */
-       var $keywords;
-
-       /**
-        * @var string
-        * @see get_language()
-        */
-       var $lang;
-
-       /**
-        * @var string
-        * @see get_length()
-        */
-       var $length;
-
-       /**
-        * @var string
-        * @see get_link()
-        */
-       var $link;
-
-       /**
-        * @var string
-        * @see get_medium()
-        */
-       var $medium;
-
-       /**
-        * @var string
-        * @see get_player()
-        */
-       var $player;
-
-       /**
-        * @var array
-        * @see get_ratings()
-        */
-       var $ratings;
-
-       /**
-        * @var array
-        * @see get_restrictions()
-        */
-       var $restrictions;
-
-       /**
-        * @var string
-        * @see get_sampling_rate()
-        */
-       var $samplingrate;
-
-       /**
-        * @var array
-        * @see get_thumbnails()
-        */
-       var $thumbnails;
-
-       /**
-        * @var string
-        * @see get_title()
-        */
-       var $title;
-
-       /**
-        * @var string
-        * @see get_type()
-        */
-       var $type;
-
-       /**
-        * @var string
-        * @see get_width()
-        */
-       var $width;
-
-       /**
-        * Constructor, used to input the data
-        *
-        * For documentation on all the parameters, see the corresponding
-        * properties and their accessors
-        *
-        * @uses idna_convert If available, this will convert an IDN
-        */
-       public function __construct($link = null, $type = null, $length = null, $javascript = null, $bitrate = null, $captions = null, $categories = null, $channels = null, $copyright = null, $credits = null, $description = null, $duration = null, $expression = null, $framerate = null, $hashes = null, $height = null, $keywords = null, $lang = null, $medium = null, $player = null, $ratings = null, $restrictions = null, $samplingrate = null, $thumbnails = null, $title = null, $width = null)
-       {
-               $this->bitrate = $bitrate;
-               $this->captions = $captions;
-               $this->categories = $categories;
-               $this->channels = $channels;
-               $this->copyright = $copyright;
-               $this->credits = $credits;
-               $this->description = $description;
-               $this->duration = $duration;
-               $this->expression = $expression;
-               $this->framerate = $framerate;
-               $this->hashes = $hashes;
-               $this->height = $height;
-               $this->keywords = $keywords;
-               $this->lang = $lang;
-               $this->length = $length;
-               $this->link = $link;
-               $this->medium = $medium;
-               $this->player = $player;
-               $this->ratings = $ratings;
-               $this->restrictions = $restrictions;
-               $this->samplingrate = $samplingrate;
-               $this->thumbnails = $thumbnails;
-               $this->title = $title;
-               $this->type = $type;
-               $this->width = $width;
-
-               if (class_exists('idna_convert'))
-               {
-                       $idn = new idna_convert();
-                       $parsed = SimplePie_Misc::parse_url($link);
-                       $this->link = SimplePie_Misc::compress_parse_url($parsed['scheme'], $idn->encode($parsed['authority']), $parsed['path'], $parsed['query'], $parsed['fragment']);
-               }
-               $this->handler = $this->get_handler(); // Needs to load last
-       }
-
-       /**
-        * String-ified version
-        *
-        * @return string
-        */
-       public function __toString()
-       {
-               // There is no $this->data here
-               return md5(serialize($this));
-       }
-
-       /**
-        * Get the bitrate
-        *
-        * @return string|null
-        */
-       public function get_bitrate()
-       {
-               if ($this->bitrate !== null)
-               {
-                       return $this->bitrate;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a single caption
-        *
-        * @param int $key
-        * @return SimplePie_Caption|null
-        */
-       public function get_caption($key = 0)
-       {
-               $captions = $this->get_captions();
-               if (isset($captions[$key]))
-               {
-                       return $captions[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all captions
-        *
-        * @return array|null Array of {@see SimplePie_Caption} objects
-        */
-       public function get_captions()
-       {
-               if ($this->captions !== null)
-               {
-                       return $this->captions;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a single category
-        *
-        * @param int $key
-        * @return SimplePie_Category|null
-        */
-       public function get_category($key = 0)
-       {
-               $categories = $this->get_categories();
-               if (isset($categories[$key]))
-               {
-                       return $categories[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all categories
-        *
-        * @return array|null Array of {@see SimplePie_Category} objects
-        */
-       public function get_categories()
-       {
-               if ($this->categories !== null)
-               {
-                       return $this->categories;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the number of audio channels
-        *
-        * @return int|null
-        */
-       public function get_channels()
-       {
-               if ($this->channels !== null)
-               {
-                       return $this->channels;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the copyright information
-        *
-        * @return SimplePie_Copyright|null
-        */
-       public function get_copyright()
-       {
-               if ($this->copyright !== null)
-               {
-                       return $this->copyright;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a single credit
-        *
-        * @param int $key
-        * @return SimplePie_Credit|null
-        */
-       public function get_credit($key = 0)
-       {
-               $credits = $this->get_credits();
-               if (isset($credits[$key]))
-               {
-                       return $credits[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all credits
-        *
-        * @return array|null Array of {@see SimplePie_Credit} objects
-        */
-       public function get_credits()
-       {
-               if ($this->credits !== null)
-               {
-                       return $this->credits;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the description of the enclosure
-        *
-        * @return string|null
-        */
-       public function get_description()
-       {
-               if ($this->description !== null)
-               {
-                       return $this->description;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the duration of the enclosure
-        *
-        * @param string $convert Convert seconds into hh:mm:ss
-        * @return string|int|null 'hh:mm:ss' string if `$convert` was specified, otherwise integer (or null if none found)
-        */
-       public function get_duration($convert = false)
-       {
-               if ($this->duration !== null)
-               {
-                       if ($convert)
-                       {
-                               $time = SimplePie_Misc::time_hms($this->duration);
-                               return $time;
-                       }
-                       else
-                       {
-                               return $this->duration;
-                       }
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the expression
-        *
-        * @return string Probably one of 'sample', 'full', 'nonstop', 'clip'. Defaults to 'full'
-        */
-       public function get_expression()
-       {
-               if ($this->expression !== null)
-               {
-                       return $this->expression;
-               }
-               else
-               {
-                       return 'full';
-               }
-       }
-
-       /**
-        * Get the file extension
-        *
-        * @return string|null
-        */
-       public function get_extension()
-       {
-               if ($this->link !== null)
-               {
-                       $url = SimplePie_Misc::parse_url($this->link);
-                       if ($url['path'] !== '')
-                       {
-                               return pathinfo($url['path'], PATHINFO_EXTENSION);
-                       }
-               }
-               return null;
-       }
-
-       /**
-        * Get the framerate (in frames-per-second)
-        *
-        * @return string|null
-        */
-       public function get_framerate()
-       {
-               if ($this->framerate !== null)
-               {
-                       return $this->framerate;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the preferred handler
-        *
-        * @return string|null One of 'flash', 'fmedia', 'quicktime', 'wmedia', 'mp3'
-        */
-       public function get_handler()
-       {
-               return $this->get_real_type(true);
-       }
-
-       /**
-        * Get a single hash
-        *
-        * @link http://www.rssboard.org/media-rss#media-hash
-        * @param int $key
-        * @return string|null Hash as per `media:hash`, prefixed with "$algo:"
-        */
-       public function get_hash($key = 0)
-       {
-               $hashes = $this->get_hashes();
-               if (isset($hashes[$key]))
-               {
-                       return $hashes[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all credits
-        *
-        * @return array|null Array of strings, see {@see get_hash()}
-        */
-       public function get_hashes()
-       {
-               if ($this->hashes !== null)
-               {
-                       return $this->hashes;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the height
-        *
-        * @return string|null
-        */
-       public function get_height()
-       {
-               if ($this->height !== null)
-               {
-                       return $this->height;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the language
-        *
-        * @link http://tools.ietf.org/html/rfc3066
-        * @return string|null Language code as per RFC 3066
-        */
-       public function get_language()
-       {
-               if ($this->lang !== null)
-               {
-                       return $this->lang;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a single keyword
-        *
-        * @param int $key
-        * @return string|null
-        */
-       public function get_keyword($key = 0)
-       {
-               $keywords = $this->get_keywords();
-               if (isset($keywords[$key]))
-               {
-                       return $keywords[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all keywords
-        *
-        * @return array|null Array of strings
-        */
-       public function get_keywords()
-       {
-               if ($this->keywords !== null)
-               {
-                       return $this->keywords;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get length
-        *
-        * @return float Length in bytes
-        */
-       public function get_length()
-       {
-               if ($this->length !== null)
-               {
-                       return $this->length;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the URL
-        *
-        * @return string|null
-        */
-       public function get_link()
-       {
-               if ($this->link !== null)
-               {
-                       return urldecode($this->link);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the medium
-        *
-        * @link http://www.rssboard.org/media-rss#media-content
-        * @return string|null Should be one of 'image', 'audio', 'video', 'document', 'executable'
-        */
-       public function get_medium()
-       {
-               if ($this->medium !== null)
-               {
-                       return $this->medium;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the player URL
-        *
-        * Typically the same as {@see get_permalink()}
-        * @return string|null Player URL
-        */
-       public function get_player()
-       {
-               if ($this->player !== null)
-               {
-                       return $this->player;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a single rating
-        *
-        * @param int $key
-        * @return SimplePie_Rating|null
-        */
-       public function get_rating($key = 0)
-       {
-               $ratings = $this->get_ratings();
-               if (isset($ratings[$key]))
-               {
-                       return $ratings[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all ratings
-        *
-        * @return array|null Array of {@see SimplePie_Rating} objects
-        */
-       public function get_ratings()
-       {
-               if ($this->ratings !== null)
-               {
-                       return $this->ratings;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a single restriction
-        *
-        * @param int $key
-        * @return SimplePie_Restriction|null
-        */
-       public function get_restriction($key = 0)
-       {
-               $restrictions = $this->get_restrictions();
-               if (isset($restrictions[$key]))
-               {
-                       return $restrictions[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all restrictions
-        *
-        * @return array|null Array of {@see SimplePie_Restriction} objects
-        */
-       public function get_restrictions()
-       {
-               if ($this->restrictions !== null)
-               {
-                       return $this->restrictions;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the sampling rate (in kHz)
-        *
-        * @return string|null
-        */
-       public function get_sampling_rate()
-       {
-               if ($this->samplingrate !== null)
-               {
-                       return $this->samplingrate;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the file size (in MiB)
-        *
-        * @return float|null File size in mebibytes (1048 bytes)
-        */
-       public function get_size()
-       {
-               $length = $this->get_length();
-               if ($length !== null)
-               {
-                       return round($length/1048576, 2);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a single thumbnail
-        *
-        * @param int $key
-        * @return string|null Thumbnail URL
-        */
-       public function get_thumbnail($key = 0)
-       {
-               $thumbnails = $this->get_thumbnails();
-               if (isset($thumbnails[$key]))
-               {
-                       return $thumbnails[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all thumbnails
-        *
-        * @return array|null Array of thumbnail URLs
-        */
-       public function get_thumbnails()
-       {
-               if ($this->thumbnails !== null)
-               {
-                       return $this->thumbnails;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the title
-        *
-        * @return string|null
-        */
-       public function get_title()
-       {
-               if ($this->title !== null)
-               {
-                       return $this->title;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get mimetype of the enclosure
-        *
-        * @see get_real_type()
-        * @return string|null MIME type
-        */
-       public function get_type()
-       {
-               if ($this->type !== null)
-               {
-                       return $this->type;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the width
-        *
-        * @return string|null
-        */
-       public function get_width()
-       {
-               if ($this->width !== null)
-               {
-                       return $this->width;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Embed the enclosure using `<embed>`
-        *
-        * @deprecated Use the second parameter to {@see embed} instead
-        *
-        * @param array|string $options See first paramter to {@see embed}
-        * @return string HTML string to output
-        */
-       public function native_embed($options='')
-       {
-               return $this->embed($options, true);
-       }
-
-       /**
-        * Embed the enclosure using Javascript
-        *
-        * `$options` is an array or comma-separated key:value string, with the
-        * following properties:
-        *
-        * - `alt` (string): Alternate content for when an end-user does not have
-        *    the appropriate handler installed or when a file type is
-        *    unsupported. Can be any text or HTML. Defaults to blank.
-        * - `altclass` (string): If a file type is unsupported, the end-user will
-        *    see the alt text (above) linked directly to the content. That link
-        *    will have this value as its class name. Defaults to blank.
-        * - `audio` (string): This is an image that should be used as a
-        *    placeholder for audio files before they're loaded (QuickTime-only).
-        *    Can be any relative or absolute URL. Defaults to blank.
-        * - `bgcolor` (string): The background color for the media, if not
-        *    already transparent. Defaults to `#ffffff`.
-        * - `height` (integer): The height of the embedded media. Accepts any
-        *    numeric pixel value (such as `360`) or `auto`. Defaults to `auto`,
-        *    and it is recommended that you use this default.
-        * - `loop` (boolean): Do you want the media to loop when its done?
-        *    Defaults to `false`.
-        * - `mediaplayer` (string): The location of the included
-        *    `mediaplayer.swf` file. This allows for the playback of Flash Video
-        *    (`.flv`) files, and is the default handler for non-Odeo MP3's.
-        *    Defaults to blank.
-        * - `video` (string): This is an image that should be used as a
-        *    placeholder for video files before they're loaded (QuickTime-only).
-        *    Can be any relative or absolute URL. Defaults to blank.
-        * - `width` (integer): The width of the embedded media. Accepts any
-        *    numeric pixel value (such as `480`) or `auto`. Defaults to `auto`,
-        *    and it is recommended that you use this default.
-        * - `widescreen` (boolean): Is the enclosure widescreen or standard?
-        *    This applies only to video enclosures, and will automatically resize
-        *    the content appropriately.  Defaults to `false`, implying 4:3 mode.
-        *
-        * Note: Non-widescreen (4:3) mode with `width` and `height` set to `auto`
-        * will default to 480x360 video resolution.  Widescreen (16:9) mode with
-        * `width` and `height` set to `auto` will default to 480x270 video resolution.
-        *
-        * @todo If the dimensions for media:content are defined, use them when width/height are set to 'auto'.
-        * @param array|string $options Comma-separated key:value list, or array
-        * @param bool $native Use `<embed>`
-        * @return string HTML string to output
-        */
-       public function embed($options = '', $native = false)
-       {
-               // Set up defaults
-               $audio = '';
-               $video = '';
-               $alt = '';
-               $altclass = '';
-               $loop = 'false';
-               $width = 'auto';
-               $height = 'auto';
-               $bgcolor = '#ffffff';
-               $mediaplayer = '';
-               $widescreen = false;
-               $handler = $this->get_handler();
-               $type = $this->get_real_type();
-
-               // Process options and reassign values as necessary
-               if (is_array($options))
-               {
-                       extract($options);
-               }
-               else
-               {
-                       $options = explode(',', $options);
-                       foreach($options as $option)
-                       {
-                               $opt = explode(':', $option, 2);
-                               if (isset($opt[0], $opt[1]))
-                               {
-                                       $opt[0] = trim($opt[0]);
-                                       $opt[1] = trim($opt[1]);
-                                       switch ($opt[0])
-                                       {
-                                               case 'audio':
-                                                       $audio = $opt[1];
-                                                       break;
-
-                                               case 'video':
-                                                       $video = $opt[1];
-                                                       break;
-
-                                               case 'alt':
-                                                       $alt = $opt[1];
-                                                       break;
-
-                                               case 'altclass':
-                                                       $altclass = $opt[1];
-                                                       break;
-
-                                               case 'loop':
-                                                       $loop = $opt[1];
-                                                       break;
-
-                                               case 'width':
-                                                       $width = $opt[1];
-                                                       break;
-
-                                               case 'height':
-                                                       $height = $opt[1];
-                                                       break;
-
-                                               case 'bgcolor':
-                                                       $bgcolor = $opt[1];
-                                                       break;
-
-                                               case 'mediaplayer':
-                                                       $mediaplayer = $opt[1];
-                                                       break;
-
-                                               case 'widescreen':
-                                                       $widescreen = $opt[1];
-                                                       break;
-                                       }
-                               }
-                       }
-               }
-
-               $mime = explode('/', $type, 2);
-               $mime = $mime[0];
-
-               // Process values for 'auto'
-               if ($width === 'auto')
-               {
-                       if ($mime === 'video')
-                       {
-                               if ($height === 'auto')
-                               {
-                                       $width = 480;
-                               }
-                               elseif ($widescreen)
-                               {
-                                       $width = round((intval($height)/9)*16);
-                               }
-                               else
-                               {
-                                       $width = round((intval($height)/3)*4);
-                               }
-                       }
-                       else
-                       {
-                               $width = '100%';
-                       }
-               }
-
-               if ($height === 'auto')
-               {
-                       if ($mime === 'audio')
-                       {
-                               $height = 0;
-                       }
-                       elseif ($mime === 'video')
-                       {
-                               if ($width === 'auto')
-                               {
-                                       if ($widescreen)
-                                       {
-                                               $height = 270;
-                                       }
-                                       else
-                                       {
-                                               $height = 360;
-                                       }
-                               }
-                               elseif ($widescreen)
-                               {
-                                       $height = round((intval($width)/16)*9);
-                               }
-                               else
-                               {
-                                       $height = round((intval($width)/4)*3);
-                               }
-                       }
-                       else
-                       {
-                               $height = 376;
-                       }
-               }
-               elseif ($mime === 'audio')
-               {
-                       $height = 0;
-               }
-
-               // Set proper placeholder value
-               if ($mime === 'audio')
-               {
-                       $placeholder = $audio;
-               }
-               elseif ($mime === 'video')
-               {
-                       $placeholder = $video;
-               }
-
-               $embed = '';
-
-               // Flash
-               if ($handler === 'flash')
-               {
-                       if ($native)
-                       {
-                               $embed .= "<embed src=\"" . $this->get_link() . "\" pluginspage=\"http://adobe.com/go/getflashplayer\" type=\"$type\" quality=\"high\" width=\"$width\" height=\"$height\" bgcolor=\"$bgcolor\" loop=\"$loop\"></embed>";
-                       }
-                       else
-                       {
-                               $embed .= "<script type='text/javascript'>embed_flash('$bgcolor', '$width', '$height', '" . $this->get_link() . "', '$loop', '$type');</script>";
-                       }
-               }
-
-               // Flash Media Player file types.
-               // Preferred handler for MP3 file types.
-               elseif ($handler === 'fmedia' || ($handler === 'mp3' && $mediaplayer !== ''))
-               {
-                       $height += 20;
-                       if ($native)
-                       {
-                               $embed .= "<embed src=\"$mediaplayer\" pluginspage=\"http://adobe.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" quality=\"high\" width=\"$width\" height=\"$height\" wmode=\"transparent\" flashvars=\"file=" . rawurlencode($this->get_link().'?file_extension=.'.$this->get_extension()) . "&autostart=false&repeat=$loop&showdigits=true&showfsbutton=false\"></embed>";
-                       }
-                       else
-                       {
-                               $embed .= "<script type='text/javascript'>embed_flv('$width', '$height', '" . rawurlencode($this->get_link().'?file_extension=.'.$this->get_extension()) . "', '$placeholder', '$loop', '$mediaplayer');</script>";
-                       }
-               }
-
-               // QuickTime 7 file types.  Need to test with QuickTime 6.
-               // Only handle MP3's if the Flash Media Player is not present.
-               elseif ($handler === 'quicktime' || ($handler === 'mp3' && $mediaplayer === ''))
-               {
-                       $height += 16;
-                       if ($native)
-                       {
-                               if ($placeholder !== '')
-                               {
-                                       $embed .= "<embed type=\"$type\" style=\"cursor:hand; cursor:pointer;\" href=\"" . $this->get_link() . "\" src=\"$placeholder\" width=\"$width\" height=\"$height\" autoplay=\"false\" target=\"myself\" controller=\"false\" loop=\"$loop\" scale=\"aspect\" bgcolor=\"$bgcolor\" pluginspage=\"http://apple.com/quicktime/download/\"></embed>";
-                               }
-                               else
-                               {
-                                       $embed .= "<embed type=\"$type\" style=\"cursor:hand; cursor:pointer;\" src=\"" . $this->get_link() . "\" width=\"$width\" height=\"$height\" autoplay=\"false\" target=\"myself\" controller=\"true\" loop=\"$loop\" scale=\"aspect\" bgcolor=\"$bgcolor\" pluginspage=\"http://apple.com/quicktime/download/\"></embed>";
-                               }
-                       }
-                       else
-                       {
-                               $embed .= "<script type='text/javascript'>embed_quicktime('$type', '$bgcolor', '$width', '$height', '" . $this->get_link() . "', '$placeholder', '$loop');</script>";
-                       }
-               }
-
-               // Windows Media
-               elseif ($handler === 'wmedia')
-               {
-                       $height += 45;
-                       if ($native)
-                       {
-                               $embed .= "<embed type=\"application/x-mplayer2\" src=\"" . $this->get_link() . "\" autosize=\"1\" width=\"$width\" height=\"$height\" showcontrols=\"1\" showstatusbar=\"0\" showdisplay=\"0\" autostart=\"0\"></embed>";
-                       }
-                       else
-                       {
-                               $embed .= "<script type='text/javascript'>embed_wmedia('$width', '$height', '" . $this->get_link() . "');</script>";
-                       }
-               }
-
-               // Everything else
-               else $embed .= '<a href="' . $this->get_link() . '" class="' . $altclass . '">' . $alt . '</a>';
-
-               return $embed;
-       }
-
-       /**
-        * Get the real media type
-        *
-        * Often, feeds lie to us, necessitating a bit of deeper inspection. This
-        * converts types to their canonical representations based on the file
-        * extension
-        *
-        * @see get_type()
-        * @param bool $find_handler Internal use only, use {@see get_handler()} instead
-        * @return string MIME type
-        */
-       public function get_real_type($find_handler = false)
-       {
-               // Mime-types by handler.
-               $types_flash = array('application/x-shockwave-flash', 'application/futuresplash'); // Flash
-               $types_fmedia = array('video/flv', 'video/x-flv','flv-application/octet-stream'); // Flash Media Player
-               $types_quicktime = array('audio/3gpp', 'audio/3gpp2', 'audio/aac', 'audio/x-aac', 'audio/aiff', 'audio/x-aiff', 'audio/mid', 'audio/midi', 'audio/x-midi', 'audio/mp4', 'audio/m4a', 'audio/x-m4a', 'audio/wav', 'audio/x-wav', 'video/3gpp', 'video/3gpp2', 'video/m4v', 'video/x-m4v', 'video/mp4', 'video/mpeg', 'video/x-mpeg', 'video/quicktime', 'video/sd-video'); // QuickTime
-               $types_wmedia = array('application/asx', 'application/x-mplayer2', 'audio/x-ms-wma', 'audio/x-ms-wax', 'video/x-ms-asf-plugin', 'video/x-ms-asf', 'video/x-ms-wm', 'video/x-ms-wmv', 'video/x-ms-wvx'); // Windows Media
-               $types_mp3 = array('audio/mp3', 'audio/x-mp3', 'audio/mpeg', 'audio/x-mpeg'); // MP3
-
-               if ($this->get_type() !== null)
-               {
-                       $type = strtolower($this->type);
-               }
-               else
-               {
-                       $type = null;
-               }
-
-               // If we encounter an unsupported mime-type, check the file extension and guess intelligently.
-               if (!in_array($type, array_merge($types_flash, $types_fmedia, $types_quicktime, $types_wmedia, $types_mp3)))
-               {
-                       switch (strtolower($this->get_extension()))
-                       {
-                               // Audio mime-types
-                               case 'aac':
-                               case 'adts':
-                                       $type = 'audio/acc';
-                                       break;
-
-                               case 'aif':
-                               case 'aifc':
-                               case 'aiff':
-                               case 'cdda':
-                                       $type = 'audio/aiff';
-                                       break;
-
-                               case 'bwf':
-                                       $type = 'audio/wav';
-                                       break;
-
-                               case 'kar':
-                               case 'mid':
-                               case 'midi':
-                               case 'smf':
-                                       $type = 'audio/midi';
-                                       break;
-
-                               case 'm4a':
-                                       $type = 'audio/x-m4a';
-                                       break;
-
-                               case 'mp3':
-                               case 'swa':
-                                       $type = 'audio/mp3';
-                                       break;
-
-                               case 'wav':
-                                       $type = 'audio/wav';
-                                       break;
-
-                               case 'wax':
-                                       $type = 'audio/x-ms-wax';
-                                       break;
-
-                               case 'wma':
-                                       $type = 'audio/x-ms-wma';
-                                       break;
-
-                               // Video mime-types
-                               case '3gp':
-                               case '3gpp':
-                                       $type = 'video/3gpp';
-                                       break;
-
-                               case '3g2':
-                               case '3gp2':
-                                       $type = 'video/3gpp2';
-                                       break;
-
-                               case 'asf':
-                                       $type = 'video/x-ms-asf';
-                                       break;
-
-                               case 'flv':
-                                       $type = 'video/x-flv';
-                                       break;
-
-                               case 'm1a':
-                               case 'm1s':
-                               case 'm1v':
-                               case 'm15':
-                               case 'm75':
-                               case 'mp2':
-                               case 'mpa':
-                               case 'mpeg':
-                               case 'mpg':
-                               case 'mpm':
-                               case 'mpv':
-                                       $type = 'video/mpeg';
-                                       break;
-
-                               case 'm4v':
-                                       $type = 'video/x-m4v';
-                                       break;
-
-                               case 'mov':
-                               case 'qt':
-                                       $type = 'video/quicktime';
-                                       break;
-
-                               case 'mp4':
-                               case 'mpg4':
-                                       $type = 'video/mp4';
-                                       break;
-
-                               case 'sdv':
-                                       $type = 'video/sd-video';
-                                       break;
-
-                               case 'wm':
-                                       $type = 'video/x-ms-wm';
-                                       break;
-
-                               case 'wmv':
-                                       $type = 'video/x-ms-wmv';
-                                       break;
-
-                               case 'wvx':
-                                       $type = 'video/x-ms-wvx';
-                                       break;
-
-                               // Flash mime-types
-                               case 'spl':
-                                       $type = 'application/futuresplash';
-                                       break;
-
-                               case 'swf':
-                                       $type = 'application/x-shockwave-flash';
-                                       break;
-                       }
-               }
-
-               if ($find_handler)
-               {
-                       if (in_array($type, $types_flash))
-                       {
-                               return 'flash';
-                       }
-                       elseif (in_array($type, $types_fmedia))
-                       {
-                               return 'fmedia';
-                       }
-                       elseif (in_array($type, $types_quicktime))
-                       {
-                               return 'quicktime';
-                       }
-                       elseif (in_array($type, $types_wmedia))
-                       {
-                               return 'wmedia';
-                       }
-                       elseif (in_array($type, $types_mp3))
-                       {
-                               return 'mp3';
-                       }
-                       else
-                       {
-                               return null;
-                       }
-               }
-               else
-               {
-                       return $type;
-               }
-       }
-}
-
-/**
- * General SimplePie exception class
- *
- * @package SimplePie
- */
-class SimplePie_Exception extends Exception
-{
-}
-
-/**
- * Used for fetching remote files and reading local files
- *
- * Supports HTTP 1.0 via cURL or fsockopen, with spotty HTTP 1.1 support
- *
- * This class can be overloaded with {@see SimplePie::set_file_class()}
- *
- * @package SimplePie
- * @subpackage HTTP
- * @todo Move to properly supporting RFC2616 (HTTP/1.1)
- */
-class SimplePie_File
-{
-       var $url;
-       var $useragent;
-       var $success = true;
-       var $headers = array();
-       var $body;
-       var $status_code;
-       var $redirects = 0;
-       var $error;
-       var $method = SIMPLEPIE_FILE_SOURCE_NONE;
-
-       public function __construct($url, $timeout = 10, $redirects = 5, $headers = null, $useragent = null, $force_fsockopen = false)
-       {
-               if (class_exists('idna_convert'))
-               {
-                       $idn = new idna_convert();
-                       $parsed = SimplePie_Misc::parse_url($url);
-                       $url = SimplePie_Misc::compress_parse_url($parsed['scheme'], $idn->encode($parsed['authority']), $parsed['path'], $parsed['query'], $parsed['fragment']);
-               }
-               $this->url = $url;
-               $this->useragent = $useragent;
-               if (preg_match('/^http(s)?:\/\//i', $url))
-               {
-                       if ($useragent === null)
-                       {
-                               $useragent = ini_get('user_agent');
-                               $this->useragent = $useragent;
-                       }
-                       if (!is_array($headers))
-                       {
-                               $headers = array();
-                       }
-                       if (!$force_fsockopen && function_exists('curl_exec'))
-                       {
-                               $this->method = SIMPLEPIE_FILE_SOURCE_REMOTE | SIMPLEPIE_FILE_SOURCE_CURL;
-                               $fp = curl_init();
-                               $headers2 = array();
-                               foreach ($headers as $key => $value)
-                               {
-                                       $headers2[] = "$key: $value";
-                               }
-                               if (version_compare(SimplePie_Misc::get_curl_version(), '7.10.5', '>='))
-                               {
-                                       curl_setopt($fp, CURLOPT_ENCODING, '');
-                               }
-                               curl_setopt($fp, CURLOPT_URL, $url);
-                               curl_setopt($fp, CURLOPT_HEADER, 1);
-                               curl_setopt($fp, CURLOPT_RETURNTRANSFER, 1);
-                               curl_setopt($fp, CURLOPT_TIMEOUT, $timeout);
-                               curl_setopt($fp, CURLOPT_CONNECTTIMEOUT, $timeout);
-                               curl_setopt($fp, CURLOPT_REFERER, $url);
-                               curl_setopt($fp, CURLOPT_USERAGENT, $useragent);
-                               curl_setopt($fp, CURLOPT_HTTPHEADER, $headers2);
-                               if (!ini_get('open_basedir') && !ini_get('safe_mode') && version_compare(SimplePie_Misc::get_curl_version(), '7.15.2', '>='))
-                               {
-                                       curl_setopt($fp, CURLOPT_FOLLOWLOCATION, 1);
-                                       curl_setopt($fp, CURLOPT_MAXREDIRS, $redirects);
-                               }
-
-                               /* Enable Digest authentication and SSL -fox */
-                               curl_setopt($fp, CURLOPT_SSL_VERIFYPEER, false); 
-                               curl_setopt($fp, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
-
-                               $this->headers = curl_exec($fp);
-                               if (curl_errno($fp) === 23 || curl_errno($fp) === 61)
-                               {
-                                       curl_setopt($fp, CURLOPT_ENCODING, 'none');
-                                       $this->headers = curl_exec($fp);
-                               }
-                               if (curl_errno($fp))
-                               {
-                                       $this->error = 'cURL error ' . curl_errno($fp) . ': ' . curl_error($fp);
-                                       $this->success = false;
-                               }
-                               else
-                               {
-                                       $info = curl_getinfo($fp);
-                                       curl_close($fp);
-                                       $this->headers = explode("\r\n\r\n", $this->headers, $info['redirect_count'] + 1);
-                                       $this->headers = array_pop($this->headers);
-                                       $parser = new SimplePie_HTTP_Parser($this->headers);
-                                       if ($parser->parse())
-                                       {
-                                               $this->headers = $parser->headers;
-                                               $this->body = $parser->body;
-                                               $this->status_code = $parser->status_code;
-                                               if ((in_array($this->status_code, array(300, 301, 302, 303, 307)) || $this->status_code > 307 && $this->status_code < 400) && isset($this->headers['location']) && $this->redirects < $redirects)
-                                               {
-                                                       $this->redirects++;
-                                                       $location = SimplePie_Misc::absolutize_url($this->headers['location'], $url);
-                                                       return $this->__construct($location, $timeout, $redirects, $headers, $useragent, $force_fsockopen);
-                                               }
-                                       }
-                               }
-                       }
-                       else
-                       {
-                               $this->method = SIMPLEPIE_FILE_SOURCE_REMOTE | SIMPLEPIE_FILE_SOURCE_FSOCKOPEN;
-                               $url_parts = parse_url($url);
-                               $socket_host = $url_parts['host'];
-                               if (isset($url_parts['scheme']) && strtolower($url_parts['scheme']) === 'https')
-                               {
-                                       $socket_host = "ssl://$url_parts[host]";
-                                       $url_parts['port'] = 443;
-                               }
-                               if (!isset($url_parts['port']))
-                               {
-                                       $url_parts['port'] = 80;
-                               }
-                               $fp = @fsockopen($socket_host, $url_parts['port'], $errno, $errstr, $timeout);
-                               if (!$fp)
-                               {
-                                       $this->error = 'fsockopen error: ' . $errstr;
-                                       $this->success = false;
-                               }
-                               else
-                               {
-                                       stream_set_timeout($fp, $timeout);
-                                       if (isset($url_parts['path']))
-                                       {
-                                               if (isset($url_parts['query']))
-                                               {
-                                                       $get = "$url_parts[path]?$url_parts[query]";
-                                               }
-                                               else
-                                               {
-                                                       $get = $url_parts['path'];
-                                               }
-                                       }
-                                       else
-                                       {
-                                               $get = '/';
-                                       }
-                                       $out = "GET $get HTTP/1.1\r\n";
-                                       $out .= "Host: $url_parts[host]\r\n";
-                                       $out .= "User-Agent: $useragent\r\n";
-                                       if (extension_loaded('zlib'))
-                                       {
-                                               $out .= "Accept-Encoding: x-gzip,gzip,deflate\r\n";
-                                       }
-
-                                       if (isset($url_parts['user']) && isset($url_parts['pass']))
-                                       {
-                                               $out .= "Authorization: Basic " . base64_encode("$url_parts[user]:$url_parts[pass]") . "\r\n";
-                                       }
-                                       foreach ($headers as $key => $value)
-                                       {
-                                               $out .= "$key: $value\r\n";
-                                       }
-                                       $out .= "Connection: Close\r\n\r\n";
-                                       fwrite($fp, $out);
-
-                                       $info = stream_get_meta_data($fp);
-
-                                       $this->headers = '';
-                                       while (!$info['eof'] && !$info['timed_out'])
-                                       {
-                                               $this->headers .= fread($fp, 1160);
-                                               $info = stream_get_meta_data($fp);
-                                       }
-                                       if (!$info['timed_out'])
-                                       {
-                                               $parser = new SimplePie_HTTP_Parser($this->headers);
-                                               if ($parser->parse())
-                                               {
-                                                       $this->headers = $parser->headers;
-                                                       $this->body = $parser->body;
-                                                       $this->status_code = $parser->status_code;
-                                                       if ((in_array($this->status_code, array(300, 301, 302, 303, 307)) || $this->status_code > 307 && $this->status_code < 400) && isset($this->headers['location']) && $this->redirects < $redirects)
-                                                       {
-                                                               $this->redirects++;
-                                                               $location = SimplePie_Misc::absolutize_url($this->headers['location'], $url);
-                                                               return $this->__construct($location, $timeout, $redirects, $headers, $useragent, $force_fsockopen);
-                                                       }
-                                                       if (isset($this->headers['content-encoding']))
-                                                       {
-                                                               // Hey, we act dumb elsewhere, so let's do that here too
-                                                               switch (strtolower(trim($this->headers['content-encoding'], "\x09\x0A\x0D\x20")))
-                                                               {
-                                                                       case 'gzip':
-                                                                       case 'x-gzip':
-                                                                               $decoder = new SimplePie_gzdecode($this->body);
-                                                                               if (!$decoder->parse())
-                                                                               {
-                                                                                       $this->error = 'Unable to decode HTTP "gzip" stream';
-                                                                                       $this->success = false;
-                                                                               }
-                                                                               else
-                                                                               {
-                                                                                       $this->body = $decoder->data;
-                                                                               }
-                                                                               break;
-
-                                                                       case 'deflate':
-                                                                               if (($decompressed = gzinflate($this->body)) !== false)
-                                                                               {
-                                                                                       $this->body = $decompressed;
-                                                                               }
-                                                                               else if (($decompressed = gzuncompress($this->body)) !== false)
-                                                                               {
-                                                                                       $this->body = $decompressed;
-                                                                               }
-                                                                               else if (function_exists('gzdecode') && ($decompressed = gzdecode($this->body)) !== false)
-                                                                               {
-                                                                                       $this->body = $decompressed;
-                                                                               }
-                                                                               else
-                                                                               {
-                                                                                       $this->error = 'Unable to decode HTTP "deflate" stream';
-                                                                                       $this->success = false;
-                                                                               }
-                                                                               break;
-
-                                                                       default:
-                                                                               $this->error = 'Unknown content coding';
-                                                                               $this->success = false;
-                                                               }
-                                                       }
-                                               }
-                                       }
-                                       else
-                                       {
-                                               $this->error = 'fsocket timed out';
-                                               $this->success = false;
-                                       }
-                                       fclose($fp);
-                               }
-                       }
-               }
-               else
-               {
-                       $this->method = SIMPLEPIE_FILE_SOURCE_LOCAL | SIMPLEPIE_FILE_SOURCE_FILE_GET_CONTENTS;
-                       if (!$this->body = file_get_contents($url))
-                       {
-                               $this->error = 'file_get_contents could not read the file';
-                               $this->success = false;
-                       }
-               }
-       }
-}
-
-/**
- * Decode 'gzip' encoded HTTP data
- *
- * @package SimplePie
- * @subpackage HTTP
- * @link http://www.gzip.org/format.txt
- */
-class SimplePie_gzdecode
-{
-       /**
-        * Compressed data
-        *
-        * @access private
-        * @var string
-        * @see gzdecode::$data
-        */
-       var $compressed_data;
-
-       /**
-        * Size of compressed data
-        *
-        * @access private
-        * @var int
-        */
-       var $compressed_size;
-
-       /**
-        * Minimum size of a valid gzip string
-        *
-        * @access private
-        * @var int
-        */
-       var $min_compressed_size = 18;
-
-       /**
-        * Current position of pointer
-        *
-        * @access private
-        * @var int
-        */
-       var $position = 0;
-
-       /**
-        * Flags (FLG)
-        *
-        * @access private
-        * @var int
-        */
-       var $flags;
-
-       /**
-        * Uncompressed data
-        *
-        * @access public
-        * @see gzdecode::$compressed_data
-        * @var string
-        */
-       var $data;
-
-       /**
-        * Modified time
-        *
-        * @access public
-        * @var int
-        */
-       var $MTIME;
-
-       /**
-        * Extra Flags
-        *
-        * @access public
-        * @var int
-        */
-       var $XFL;
-
-       /**
-        * Operating System
-        *
-        * @access public
-        * @var int
-        */
-       var $OS;
-
-       /**
-        * Subfield ID 1
-        *
-        * @access public
-        * @see gzdecode::$extra_field
-        * @see gzdecode::$SI2
-        * @var string
-        */
-       var $SI1;
-
-       /**
-        * Subfield ID 2
-        *
-        * @access public
-        * @see gzdecode::$extra_field
-        * @see gzdecode::$SI1
-        * @var string
-        */
-       var $SI2;
-
-       /**
-        * Extra field content
-        *
-        * @access public
-        * @see gzdecode::$SI1
-        * @see gzdecode::$SI2
-        * @var string
-        */
-       var $extra_field;
-
-       /**
-        * Original filename
-        *
-        * @access public
-        * @var string
-        */
-       var $filename;
-
-       /**
-        * Human readable comment
-        *
-        * @access public
-        * @var string
-        */
-       var $comment;
-
-       /**
-        * Don't allow anything to be set
-        *
-        * @param string $name
-        * @param mixed $value
-        */
-       public function __set($name, $value)
-       {
-               trigger_error("Cannot write property $name", E_USER_ERROR);
-       }
-
-       /**
-        * Set the compressed string and related properties
-        *
-        * @param string $data
-        */
-       public function __construct($data)
-       {
-               $this->compressed_data = $data;
-               $this->compressed_size = strlen($data);
-       }
-
-       /**
-        * Decode the GZIP stream
-        *
-        * @return bool Successfulness
-        */
-       public function parse()
-       {
-               if ($this->compressed_size >= $this->min_compressed_size)
-               {
-                       // Check ID1, ID2, and CM
-                       if (substr($this->compressed_data, 0, 3) !== "\x1F\x8B\x08")
-                       {
-                               return false;
-                       }
-
-                       // Get the FLG (FLaGs)
-                       $this->flags = ord($this->compressed_data[3]);
-
-                       // FLG bits above (1 << 4) are reserved
-                       if ($this->flags > 0x1F)
-                       {
-                               return false;
-                       }
-
-                       // Advance the pointer after the above
-                       $this->position += 4;
-
-                       // MTIME
-                       $mtime = substr($this->compressed_data, $this->position, 4);
-                       // Reverse the string if we're on a big-endian arch because l is the only signed long and is machine endianness
-                       if (current(unpack('S', "\x00\x01")) === 1)
-                       {
-                               $mtime = strrev($mtime);
-                       }
-                       $this->MTIME = current(unpack('l', $mtime));
-                       $this->position += 4;
-
-                       // Get the XFL (eXtra FLags)
-                       $this->XFL = ord($this->compressed_data[$this->position++]);
-
-                       // Get the OS (Operating System)
-                       $this->OS = ord($this->compressed_data[$this->position++]);
-
-                       // Parse the FEXTRA
-                       if ($this->flags & 4)
-                       {
-                               // Read subfield IDs
-                               $this->SI1 = $this->compressed_data[$this->position++];
-                               $this->SI2 = $this->compressed_data[$this->position++];
-
-                               // SI2 set to zero is reserved for future use
-                               if ($this->SI2 === "\x00")
-                               {
-                                       return false;
-                               }
-
-                               // Get the length of the extra field
-                               $len = current(unpack('v', substr($this->compressed_data, $this->position, 2)));
-                               $this->position += 2;
-
-                               // Check the length of the string is still valid
-                               $this->min_compressed_size += $len + 4;
-                               if ($this->compressed_size >= $this->min_compressed_size)
-                               {
-                                       // Set the extra field to the given data
-                                       $this->extra_field = substr($this->compressed_data, $this->position, $len);
-                                       $this->position += $len;
-                               }
-                               else
-                               {
-                                       return false;
-                               }
-                       }
-
-                       // Parse the FNAME
-                       if ($this->flags & 8)
-                       {
-                               // Get the length of the filename
-                               $len = strcspn($this->compressed_data, "\x00", $this->position);
-
-                               // Check the length of the string is still valid
-                               $this->min_compressed_size += $len + 1;
-                               if ($this->compressed_size >= $this->min_compressed_size)
-                               {
-                                       // Set the original filename to the given string
-                                       $this->filename = substr($this->compressed_data, $this->position, $len);
-                                       $this->position += $len + 1;
-                               }
-                               else
-                               {
-                                       return false;
-                               }
-                       }
-
-                       // Parse the FCOMMENT
-                       if ($this->flags & 16)
-                       {
-                               // Get the length of the comment
-                               $len = strcspn($this->compressed_data, "\x00", $this->position);
-
-                               // Check the length of the string is still valid
-                               $this->min_compressed_size += $len + 1;
-                               if ($this->compressed_size >= $this->min_compressed_size)
-                               {
-                                       // Set the original comment to the given string
-                                       $this->comment = substr($this->compressed_data, $this->position, $len);
-                                       $this->position += $len + 1;
-                               }
-                               else
-                               {
-                                       return false;
-                               }
-                       }
-
-                       // Parse the FHCRC
-                       if ($this->flags & 2)
-                       {
-                               // Check the length of the string is still valid
-                               $this->min_compressed_size += $len + 2;
-                               if ($this->compressed_size >= $this->min_compressed_size)
-                               {
-                                       // Read the CRC
-                                       $crc = current(unpack('v', substr($this->compressed_data, $this->position, 2)));
-
-                                       // Check the CRC matches
-                                       if ((crc32(substr($this->compressed_data, 0, $this->position)) & 0xFFFF) === $crc)
-                                       {
-                                               $this->position += 2;
-                                       }
-                                       else
-                                       {
-                                               return false;
-                                       }
-                               }
-                               else
-                               {
-                                       return false;
-                               }
-                       }
-
-                       // Decompress the actual data
-                       if (($this->data = gzinflate(substr($this->compressed_data, $this->position, -8))) === false)
-                       {
-                               return false;
-                       }
-                       else
-                       {
-                               $this->position = $this->compressed_size - 8;
-                       }
-
-                       // Check CRC of data
-                       $crc = current(unpack('V', substr($this->compressed_data, $this->position, 4)));
-                       $this->position += 4;
-                       /*if (extension_loaded('hash') && sprintf('%u', current(unpack('V', hash('crc32b', $this->data)))) !== sprintf('%u', $crc))
-                       {
-                               return false;
-                       }*/
-
-                       // Check ISIZE of data
-                       $isize = current(unpack('V', substr($this->compressed_data, $this->position, 4)));
-                       $this->position += 4;
-                       if (sprintf('%u', strlen($this->data) & 0xFFFFFFFF) !== sprintf('%u', $isize))
-                       {
-                               return false;
-                       }
-
-                       // Wow, against all odds, we've actually got a valid gzip string
-                       return true;
-               }
-               else
-               {
-                       return false;
-               }
-       }
-}
-
-/**
- * HTTP Response Parser
- *
- * @package SimplePie
- * @subpackage HTTP
- */
-class SimplePie_HTTP_Parser
-{
-       /**
-        * HTTP Version
-        *
-        * @var float
-        */
-       public $http_version = 0.0;
-
-       /**
-        * Status code
-        *
-        * @var int
-        */
-       public $status_code = 0;
-
-       /**
-        * Reason phrase
-        *
-        * @var string
-        */
-       public $reason = '';
-
-       /**
-        * Key/value pairs of the headers
-        *
-        * @var array
-        */
-       public $headers = array();
-
-       /**
-        * Body of the response
-        *
-        * @var string
-        */
-       public $body = '';
-
-       /**
-        * Current state of the state machine
-        *
-        * @var string
-        */
-       protected $state = 'http_version';
-
-       /**
-        * Input data
-        *
-        * @var string
-        */
-       protected $data = '';
-
-       /**
-        * Input data length (to avoid calling strlen() everytime this is needed)
-        *
-        * @var int
-        */
-       protected $data_length = 0;
-
-       /**
-        * Current position of the pointer
-        *
-        * @var int
-        */
-       protected $position = 0;
-
-       /**
-        * Name of the hedaer currently being parsed
-        *
-        * @var string
-        */
-       protected $name = '';
-
-       /**
-        * Value of the hedaer currently being parsed
-        *
-        * @var string
-        */
-       protected $value = '';
-
-       /**
-        * Create an instance of the class with the input data
-        *
-        * @param string $data Input data
-        */
-       public function __construct($data)
-       {
-               $this->data = $data;
-               $this->data_length = strlen($this->data);
-       }
-
-       /**
-        * Parse the input data
-        *
-        * @return bool true on success, false on failure
-        */
-       public function parse()
-       {
-               while ($this->state && $this->state !== 'emit' && $this->has_data())
-               {
-                       $state = $this->state;
-                       $this->$state();
-               }
-               $this->data = '';
-               if ($this->state === 'emit' || $this->state === 'body')
-               {
-                       return true;
-               }
-               else
-               {
-                       $this->http_version = '';
-                       $this->status_code = '';
-                       $this->reason = '';
-                       $this->headers = array();
-                       $this->body = '';
-                       return false;
-               }
-       }
-
-       /**
-        * Check whether there is data beyond the pointer
-        *
-        * @return bool true if there is further data, false if not
-        */
-       protected function has_data()
-       {
-               return (bool) ($this->position < $this->data_length);
-       }
-
-       /**
-        * See if the next character is LWS
-        *
-        * @return bool true if the next character is LWS, false if not
-        */
-       protected function is_linear_whitespace()
-       {
-               return (bool) ($this->data[$this->position] === "\x09"
-                       || $this->data[$this->position] === "\x20"
-                       || ($this->data[$this->position] === "\x0A"
-                               && isset($this->data[$this->position + 1])
-                               && ($this->data[$this->position + 1] === "\x09" || $this->data[$this->position + 1] === "\x20")));
-       }
-
-       /**
-        * Parse the HTTP version
-        */
-       protected function http_version()
-       {
-               if (strpos($this->data, "\x0A") !== false && strtoupper(substr($this->data, 0, 5)) === 'HTTP/')
-               {
-                       $len = strspn($this->data, '0123456789.', 5);
-                       $this->http_version = substr($this->data, 5, $len);
-                       $this->position += 5 + $len;
-                       if (substr_count($this->http_version, '.') <= 1)
-                       {
-                               $this->http_version = (float) $this->http_version;
-                               $this->position += strspn($this->data, "\x09\x20", $this->position);
-                               $this->state = 'status';
-                       }
-                       else
-                       {
-                               $this->state = false;
-                       }
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-
-       /**
-        * Parse the status code
-        */
-       protected function status()
-       {
-               if ($len = strspn($this->data, '0123456789', $this->position))
-               {
-                       $this->status_code = (int) substr($this->data, $this->position, $len);
-                       $this->position += $len;
-                       $this->state = 'reason';
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-
-       /**
-        * Parse the reason phrase
-        */
-       protected function reason()
-       {
-               $len = strcspn($this->data, "\x0A", $this->position);
-               $this->reason = trim(substr($this->data, $this->position, $len), "\x09\x0D\x20");
-               $this->position += $len + 1;
-               $this->state = 'new_line';
-       }
-
-       /**
-        * Deal with a new line, shifting data around as needed
-        */
-       protected function new_line()
-       {
-               $this->value = trim($this->value, "\x0D\x20");
-               if ($this->name !== '' && $this->value !== '')
-               {
-                       $this->name = strtolower($this->name);
-                       // We should only use the last Content-Type header. c.f. issue #1
-                       if (isset($this->headers[$this->name]) && $this->name !== 'content-type')
-                       {
-                               $this->headers[$this->name] .= ', ' . $this->value;
-                       }
-                       else
-                       {
-                               $this->headers[$this->name] = $this->value;
-                       }
-               }
-               $this->name = '';
-               $this->value = '';
-               if (substr($this->data[$this->position], 0, 2) === "\x0D\x0A")
-               {
-                       $this->position += 2;
-                       $this->state = 'body';
-               }
-               elseif ($this->data[$this->position] === "\x0A")
-               {
-                       $this->position++;
-                       $this->state = 'body';
-               }
-               else
-               {
-                       $this->state = 'name';
-               }
-       }
-
-       /**
-        * Parse a header name
-        */
-       protected function name()
-       {
-               $len = strcspn($this->data, "\x0A:", $this->position);
-               if (isset($this->data[$this->position + $len]))
-               {
-                       if ($this->data[$this->position + $len] === "\x0A")
-                       {
-                               $this->position += $len;
-                               $this->state = 'new_line';
-                       }
-                       else
-                       {
-                               $this->name = substr($this->data, $this->position, $len);
-                               $this->position += $len + 1;
-                               $this->state = 'value';
-                       }
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-
-       /**
-        * Parse LWS, replacing consecutive LWS characters with a single space
-        */
-       protected function linear_whitespace()
-       {
-               do
-               {
-                       if (substr($this->data, $this->position, 2) === "\x0D\x0A")
-                       {
-                               $this->position += 2;
-                       }
-                       elseif ($this->data[$this->position] === "\x0A")
-                       {
-                               $this->position++;
-                       }
-                       $this->position += strspn($this->data, "\x09\x20", $this->position);
-               } while ($this->has_data() && $this->is_linear_whitespace());
-               $this->value .= "\x20";
-       }
-
-       /**
-        * See what state to move to while within non-quoted header values
-        */
-       protected function value()
-       {
-               if ($this->is_linear_whitespace())
-               {
-                       $this->linear_whitespace();
-               }
-               else
-               {
-                       switch ($this->data[$this->position])
-                       {
-                               case '"':
-                                       // Workaround for ETags: we have to include the quotes as
-                                       // part of the tag.
-                                       if (strtolower($this->name) === 'etag')
-                                       {
-                                               $this->value .= '"';
-                                               $this->position++;
-                                               $this->state = 'value_char';
-                                               break;
-                                       }
-                                       $this->position++;
-                                       $this->state = 'quote';
-                                       break;
-
-                               case "\x0A":
-                                       $this->position++;
-                                       $this->state = 'new_line';
-                                       break;
-
-                               default:
-                                       $this->state = 'value_char';
-                                       break;
-                       }
-               }
-       }
-
-       /**
-        * Parse a header value while outside quotes
-        */
-       protected function value_char()
-       {
-               $len = strcspn($this->data, "\x09\x20\x0A\"", $this->position);
-               $this->value .= substr($this->data, $this->position, $len);
-               $this->position += $len;
-               $this->state = 'value';
-       }
-
-       /**
-        * See what state to move to while within quoted header values
-        */
-       protected function quote()
-       {
-               if ($this->is_linear_whitespace())
-               {
-                       $this->linear_whitespace();
-               }
-               else
-               {
-                       switch ($this->data[$this->position])
-                       {
-                               case '"':
-                                       $this->position++;
-                                       $this->state = 'value';
-                                       break;
-
-                               case "\x0A":
-                                       $this->position++;
-                                       $this->state = 'new_line';
-                                       break;
-
-                               case '\\':
-                                       $this->position++;
-                                       $this->state = 'quote_escaped';
-                                       break;
-
-                               default:
-                                       $this->state = 'quote_char';
-                                       break;
-                       }
-               }
-       }
-
-       /**
-        * Parse a header value while within quotes
-        */
-       protected function quote_char()
-       {
-               $len = strcspn($this->data, "\x09\x20\x0A\"\\", $this->position);
-               $this->value .= substr($this->data, $this->position, $len);
-               $this->position += $len;
-               $this->state = 'value';
-       }
-
-       /**
-        * Parse an escaped character within quotes
-        */
-       protected function quote_escaped()
-       {
-               $this->value .= $this->data[$this->position];
-               $this->position++;
-               $this->state = 'quote';
-       }
-
-       /**
-        * Parse the body
-        */
-       protected function body()
-       {
-               $this->body = substr($this->data, $this->position);
-               if (!empty($this->headers['transfer-encoding']))
-               {
-                       unset($this->headers['transfer-encoding']);
-                       $this->state = 'chunked';
-               }
-               else
-               {
-                       $this->state = 'emit';
-               }
-       }
-
-       /**
-        * Parsed a "Transfer-Encoding: chunked" body
-        */
-       protected function chunked()
-       {
-               if (!preg_match('/^([0-9a-f]+)[^\r\n]*\r\n/i', trim($this->body)))
-               {
-                       $this->state = 'emit';
-                       return;
-               }
-
-               $decoded = '';
-               $encoded = $this->body;
-
-               while (true)
-               {
-                       $is_chunked = (bool) preg_match( '/^([0-9a-f]+)[^\r\n]*\r\n/i', $encoded, $matches );
-                       if (!$is_chunked)
-                       {
-                               // Looks like it's not chunked after all
-                               $this->state = 'emit';
-                               return;
-                       }
-
-                       $length = hexdec(trim($matches[1]));
-                       if ($length === 0)
-                       {
-                               // Ignore trailer headers
-                               $this->state = 'emit';
-                               $this->body = $decoded;
-                               return;
-                       }
-
-                       $chunk_length = strlen($matches[0]);
-                       $decoded .= $part = substr($encoded, $chunk_length, $length);
-                       $encoded = substr($encoded, $chunk_length + $length + 2);
-
-                       if (trim($encoded) === '0' || empty($encoded))
-                       {
-                               $this->state = 'emit';
-                               $this->body = $decoded;
-                               return;
-                       }
-               }
-       }
-}
-
-/**
- * IRI parser/serialiser/normaliser
- *
- * @package SimplePie
- * @subpackage HTTP
- * @author Geoffrey Sneddon
- * @author Steve Minutillo
- * @author Ryan McCue
- * @copyright 2007-2012 Geoffrey Sneddon, Steve Minutillo, Ryan McCue
- * @license http://www.opensource.org/licenses/bsd-license.php
- */
-class SimplePie_IRI
-{
-       /**
-        * Scheme
-        *
-        * @var string
-        */
-       protected $scheme = null;
-
-       /**
-        * User Information
-        *
-        * @var string
-        */
-       protected $iuserinfo = null;
-
-       /**
-        * ihost
-        *
-        * @var string
-        */
-       protected $ihost = null;
-
-       /**
-        * Port
-        *
-        * @var string
-        */
-       protected $port = null;
-
-       /**
-        * ipath
-        *
-        * @var string
-        */
-       protected $ipath = '';
-
-       /**
-        * iquery
-        *
-        * @var string
-        */
-       protected $iquery = null;
-
-       /**
-        * ifragment
-        *
-        * @var string
-        */
-       protected $ifragment = null;
-
-       /**
-        * Normalization database
-        *
-        * Each key is the scheme, each value is an array with each key as the IRI
-        * part and value as the default value for that part.
-        */
-       protected $normalization = array(
-               'acap' => array(
-                       'port' => 674
-               ),
-               'dict' => array(
-                       'port' => 2628
-               ),
-               'file' => array(
-                       'ihost' => 'localhost'
-               ),
-               'http' => array(
-                       'port' => 80,
-                       'ipath' => '/'
-               ),
-               'https' => array(
-                       'port' => 443,
-                       'ipath' => '/'
-               ),
-       );
-
-       /**
-        * Return the entire IRI when you try and read the object as a string
-        *
-        * @return string
-        */
-       public function __toString()
-       {
-               return $this->get_iri();
-       }
-
-       /**
-        * Overload __set() to provide access via properties
-        *
-        * @param string $name Property name
-        * @param mixed $value Property value
-        */
-       public function __set($name, $value)
-       {
-               if (method_exists($this, 'set_' . $name))
-               {
-                       call_user_func(array($this, 'set_' . $name), $value);
-               }
-               elseif (
-                          $name === 'iauthority'
-                       || $name === 'iuserinfo'
-                       || $name === 'ihost'
-                       || $name === 'ipath'
-                       || $name === 'iquery'
-                       || $name === 'ifragment'
-               )
-               {
-                       call_user_func(array($this, 'set_' . substr($name, 1)), $value);
-               }
-       }
-
-       /**
-        * Overload __get() to provide access via properties
-        *
-        * @param string $name Property name
-        * @return mixed
-        */
-       public function __get($name)
-       {
-               // isset() returns false for null, we don't want to do that
-               // Also why we use array_key_exists below instead of isset()
-               $props = get_object_vars($this);
-
-               if (
-                       $name === 'iri' ||
-                       $name === 'uri' ||
-                       $name === 'iauthority' ||
-                       $name === 'authority'
-               )
-               {
-                       $return = $this->{"get_$name"}();
-               }
-               elseif (array_key_exists($name, $props))
-               {
-                       $return = $this->$name;
-               }
-               // host -> ihost
-               elseif (($prop = 'i' . $name) && array_key_exists($prop, $props))
-               {
-                       $name = $prop;
-                       $return = $this->$prop;
-               }
-               // ischeme -> scheme
-               elseif (($prop = substr($name, 1)) && array_key_exists($prop, $props))
-               {
-                       $name = $prop;
-                       $return = $this->$prop;
-               }
-               else
-               {
-                       trigger_error('Undefined property: ' . get_class($this) . '::' . $name, E_USER_NOTICE);
-                       $return = null;
-               }
-
-               if ($return === null && isset($this->normalization[$this->scheme][$name]))
-               {
-                       return $this->normalization[$this->scheme][$name];
-               }
-               else
-               {
-                       return $return;
-               }
-       }
-
-       /**
-        * Overload __isset() to provide access via properties
-        *
-        * @param string $name Property name
-        * @return bool
-        */
-       public function __isset($name)
-       {
-               if (method_exists($this, 'get_' . $name) || isset($this->$name))
-               {
-                       return true;
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       /**
-        * Overload __unset() to provide access via properties
-        *
-        * @param string $name Property name
-        */
-       public function __unset($name)
-       {
-               if (method_exists($this, 'set_' . $name))
-               {
-                       call_user_func(array($this, 'set_' . $name), '');
-               }
-       }
-
-       /**
-        * Create a new IRI object, from a specified string
-        *
-        * @param string $iri
-        */
-       public function __construct($iri = null)
-       {
-               $this->set_iri($iri);
-       }
-
-       /**
-        * Create a new IRI object by resolving a relative IRI
-        *
-        * Returns false if $base is not absolute, otherwise an IRI.
-        *
-        * @param IRI|string $base (Absolute) Base IRI
-        * @param IRI|string $relative Relative IRI
-        * @return IRI|false
-        */
-       public static function absolutize($base, $relative)
-       {
-               if (!($relative instanceof SimplePie_IRI))
-               {
-                       $relative = new SimplePie_IRI($relative);
-               }
-               if (!$relative->is_valid())
-               {
-                       return false;
-               }
-               elseif ($relative->scheme !== null)
-               {
-                       return clone $relative;
-               }
-               else
-               {
-                       if (!($base instanceof SimplePie_IRI))
-                       {
-                               $base = new SimplePie_IRI($base);
-                       }
-                       if ($base->scheme !== null && $base->is_valid())
-                       {
-                               if ($relative->get_iri() !== '')
-                               {
-                                       if ($relative->iuserinfo !== null || $relative->ihost !== null || $relative->port !== null)
-                                       {
-                                               $target = clone $relative;
-                                               $target->scheme = $base->scheme;
-                                       }
-                                       else
-                                       {
-                                               $target = new SimplePie_IRI;
-                                               $target->scheme = $base->scheme;
-                                               $target->iuserinfo = $base->iuserinfo;
-                                               $target->ihost = $base->ihost;
-                                               $target->port = $base->port;
-                                               if ($relative->ipath !== '')
-                                               {
-                                                       if ($relative->ipath[0] === '/')
-                                                       {
-                                                               $target->ipath = $relative->ipath;
-                                                       }
-                                                       elseif (($base->iuserinfo !== null || $base->ihost !== null || $base->port !== null) && $base->ipath === '')
-                                                       {
-                                                               $target->ipath = '/' . $relative->ipath;
-                                                       }
-                                                       elseif (($last_segment = strrpos($base->ipath, '/')) !== false)
-                                                       {
-                                                               $target->ipath = substr($base->ipath, 0, $last_segment + 1) . $relative->ipath;
-                                                       }
-                                                       else
-                                                       {
-                                                               $target->ipath = $relative->ipath;
-                                                       }
-                                                       $target->ipath = $target->remove_dot_segments($target->ipath);
-                                                       $target->iquery = $relative->iquery;
-                                               }
-                                               else
-                                               {
-                                                       $target->ipath = $base->ipath;
-                                                       if ($relative->iquery !== null)
-                                                       {
-                                                               $target->iquery = $relative->iquery;
-                                                       }
-                                                       elseif ($base->iquery !== null)
-                                                       {
-                                                               $target->iquery = $base->iquery;
-                                                       }
-                                               }
-                                               $target->ifragment = $relative->ifragment;
-                                       }
-                               }
-                               else
-                               {
-                                       $target = clone $base;
-                                       $target->ifragment = null;
-                               }
-                               $target->scheme_normalization();
-                               return $target;
-                       }
-                       else
-                       {
-                               return false;
-                       }
-               }
-       }
-
-       /**
-        * Parse an IRI into scheme/authority/path/query/fragment segments
-        *
-        * @param string $iri
-        * @return array
-        */
-       protected function parse_iri($iri)
-       {
-               $iri = trim($iri, "\x20\x09\x0A\x0C\x0D");
-               if (preg_match('/^((?P<scheme>[^:\/?#]+):)?(\/\/(?P<authority>[^\/?#]*))?(?P<path>[^?#]*)(\?(?P<query>[^#]*))?(#(?P<fragment>.*))?$/', $iri, $match))
-               {
-                       if ($match[1] === '')
-                       {
-                               $match['scheme'] = null;
-                       }
-                       if (!isset($match[3]) || $match[3] === '')
-                       {
-                               $match['authority'] = null;
-                       }
-                       if (!isset($match[5]))
-                       {
-                               $match['path'] = '';
-                       }
-                       if (!isset($match[6]) || $match[6] === '')
-                       {
-                               $match['query'] = null;
-                       }
-                       if (!isset($match[8]) || $match[8] === '')
-                       {
-                               $match['fragment'] = null;
-                       }
-                       return $match;
-               }
-               else
-               {
-                       // This can occur when a paragraph is accidentally parsed as a URI
-                       return false;
-               }
-       }
-
-       /**
-        * Remove dot segments from a path
-        *
-        * @param string $input
-        * @return string
-        */
-       protected function remove_dot_segments($input)
-       {
-               $output = '';
-               while (strpos($input, './') !== false || strpos($input, '/.') !== false || $input === '.' || $input === '..')
-               {
-                       // A: If the input buffer begins with a prefix of "../" or "./", then remove that prefix from the input buffer; otherwise,
-                       if (strpos($input, '../') === 0)
-                       {
-                               $input = substr($input, 3);
-                       }
-                       elseif (strpos($input, './') === 0)
-                       {
-                               $input = substr($input, 2);
-                       }
-                       // B: if the input buffer begins with a prefix of "/./" or "/.", where "." is a complete path segment, then replace that prefix with "/" in the input buffer; otherwise,
-                       elseif (strpos($input, '/./') === 0)
-                       {
-                               $input = substr($input, 2);
-                       }
-                       elseif ($input === '/.')
-                       {
-                               $input = '/';
-                       }
-                       // C: if the input buffer begins with a prefix of "/../" or "/..", where ".." is a complete path segment, then replace that prefix with "/" in the input buffer and remove the last segment and its preceding "/" (if any) from the output buffer; otherwise,
-                       elseif (strpos($input, '/../') === 0)
-                       {
-                               $input = substr($input, 3);
-                               $output = substr_replace($output, '', strrpos($output, '/'));
-                       }
-                       elseif ($input === '/..')
-                       {
-                               $input = '/';
-                               $output = substr_replace($output, '', strrpos($output, '/'));
-                       }
-                       // D: if the input buffer consists only of "." or "..", then remove that from the input buffer; otherwise,
-                       elseif ($input === '.' || $input === '..')
-                       {
-                               $input = '';
-                       }
-                       // E: move the first path segment in the input buffer to the end of the output buffer, including the initial "/" character (if any) and any subsequent characters up to, but not including, the next "/" character or the end of the input buffer
-                       elseif (($pos = strpos($input, '/', 1)) !== false)
-                       {
-                               $output .= substr($input, 0, $pos);
-                               $input = substr_replace($input, '', 0, $pos);
-                       }
-                       else
-                       {
-                               $output .= $input;
-                               $input = '';
-                       }
-               }
-               return $output . $input;
-       }
-
-       /**
-        * Replace invalid character with percent encoding
-        *
-        * @param string $string Input string
-        * @param string $extra_chars Valid characters not in iunreserved or
-        *                            iprivate (this is ASCII-only)
-        * @param bool $iprivate Allow iprivate
-        * @return string
-        */
-       protected function replace_invalid_with_pct_encoding($string, $extra_chars, $iprivate = false)
-       {
-               // Normalize as many pct-encoded sections as possible
-               $string = preg_replace_callback('/(?:%[A-Fa-f0-9]{2})+/', array($this, 'remove_iunreserved_percent_encoded'), $string);
-
-               // Replace invalid percent characters
-               $string = preg_replace('/%(?![A-Fa-f0-9]{2})/', '%25', $string);
-
-               // Add unreserved and % to $extra_chars (the latter is safe because all
-               // pct-encoded sections are now valid).
-               $extra_chars .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~%';
-
-               // Now replace any bytes that aren't allowed with their pct-encoded versions
-               $position = 0;
-               $strlen = strlen($string);
-               while (($position += strspn($string, $extra_chars, $position)) < $strlen)
-               {
-                       $value = ord($string[$position]);
-
-                       // Start position
-                       $start = $position;
-
-                       // By default we are valid
-                       $valid = true;
-
-                       // No one byte sequences are valid due to the while.
-                       // Two byte sequence:
-                       if (($value & 0xE0) === 0xC0)
-                       {
-                               $character = ($value & 0x1F) << 6;
-                               $length = 2;
-                               $remaining = 1;
-                       }
-                       // Three byte sequence:
-                       elseif (($value & 0xF0) === 0xE0)
-                       {
-                               $character = ($value & 0x0F) << 12;
-                               $length = 3;
-                               $remaining = 2;
-                       }
-                       // Four byte sequence:
-                       elseif (($value & 0xF8) === 0xF0)
-                       {
-                               $character = ($value & 0x07) << 18;
-                               $length = 4;
-                               $remaining = 3;
-                       }
-                       // Invalid byte:
-                       else
-                       {
-                               $valid = false;
-                               $length = 1;
-                               $remaining = 0;
-                       }
-
-                       if ($remaining)
-                       {
-                               if ($position + $length <= $strlen)
-                               {
-                                       for ($position++; $remaining; $position++)
-                                       {
-                                               $value = ord($string[$position]);
-
-                                               // Check that the byte is valid, then add it to the character:
-                                               if (($value & 0xC0) === 0x80)
-                                               {
-                                                       $character |= ($value & 0x3F) << (--$remaining * 6);
-                                               }
-                                               // If it is invalid, count the sequence as invalid and reprocess the current byte:
-                                               else
-                                               {
-                                                       $valid = false;
-                                                       $position--;
-                                                       break;
-                                               }
-                                       }
-                               }
-                               else
-                               {
-                                       $position = $strlen - 1;
-                                       $valid = false;
-                               }
-                       }
-
-                       // Percent encode anything invalid or not in ucschar
-                       if (
-                               // Invalid sequences
-                               !$valid
-                               // Non-shortest form sequences are invalid
-                               || $length > 1 && $character <= 0x7F
-                               || $length > 2 && $character <= 0x7FF
-                               || $length > 3 && $character <= 0xFFFF
-                               // Outside of range of ucschar codepoints
-                               // Noncharacters
-                               || ($character & 0xFFFE) === 0xFFFE
-                               || $character >= 0xFDD0 && $character <= 0xFDEF
-                               || (
-                                       // Everything else not in ucschar
-                                          $character > 0xD7FF && $character < 0xF900
-                                       || $character < 0xA0
-                                       || $character > 0xEFFFD
-                               )
-                               && (
-                                       // Everything not in iprivate, if it applies
-                                          !$iprivate
-                                       || $character < 0xE000
-                                       || $character > 0x10FFFD
-                               )
-                       )
-                       {
-                               // If we were a character, pretend we weren't, but rather an error.
-                               if ($valid)
-                                       $position--;
-
-                               for ($j = $start; $j <= $position; $j++)
-                               {
-                                       $string = substr_replace($string, sprintf('%%%02X', ord($string[$j])), $j, 1);
-                                       $j += 2;
-                                       $position += 2;
-                                       $strlen += 2;
-                               }
-                       }
-               }
-
-               return $string;
-       }
-
-       /**
-        * Callback function for preg_replace_callback.
-        *
-        * Removes sequences of percent encoded bytes that represent UTF-8
-        * encoded characters in iunreserved
-        *
-        * @param array $match PCRE match
-        * @return string Replacement
-        */
-       protected function remove_iunreserved_percent_encoded($match)
-       {
-               // As we just have valid percent encoded sequences we can just explode
-               // and ignore the first member of the returned array (an empty string).
-               $bytes = explode('%', $match[0]);
-
-               // Initialize the new string (this is what will be returned) and that
-               // there are no bytes remaining in the current sequence (unsurprising
-               // at the first byte!).
-               $string = '';
-               $remaining = 0;
-
-               // Loop over each and every byte, and set $value to its value
-               for ($i = 1, $len = count($bytes); $i < $len; $i++)
-               {
-                       $value = hexdec($bytes[$i]);
-
-                       // If we're the first byte of sequence:
-                       if (!$remaining)
-                       {
-                               // Start position
-                               $start = $i;
-
-                               // By default we are valid
-                               $valid = true;
-
-                               // One byte sequence:
-                               if ($value <= 0x7F)
-                               {
-                                       $character = $value;
-                                       $length = 1;
-                               }
-                               // Two byte sequence:
-                               elseif (($value & 0xE0) === 0xC0)
-                               {
-                                       $character = ($value & 0x1F) << 6;
-                                       $length = 2;
-                                       $remaining = 1;
-                               }
-                               // Three byte sequence:
-                               elseif (($value & 0xF0) === 0xE0)
-                               {
-                                       $character = ($value & 0x0F) << 12;
-                                       $length = 3;
-                                       $remaining = 2;
-                               }
-                               // Four byte sequence:
-                               elseif (($value & 0xF8) === 0xF0)
-                               {
-                                       $character = ($value & 0x07) << 18;
-                                       $length = 4;
-                                       $remaining = 3;
-                               }
-                               // Invalid byte:
-                               else
-                               {
-                                       $valid = false;
-                                       $remaining = 0;
-                               }
-                       }
-                       // Continuation byte:
-                       else
-                       {
-                               // Check that the byte is valid, then add it to the character:
-                               if (($value & 0xC0) === 0x80)
-                               {
-                                       $remaining--;
-                                       $character |= ($value & 0x3F) << ($remaining * 6);
-                               }
-                               // If it is invalid, count the sequence as invalid and reprocess the current byte as the start of a sequence:
-                               else
-                               {
-                                       $valid = false;
-                                       $remaining = 0;
-                                       $i--;
-                               }
-                       }
-
-                       // If we've reached the end of the current byte sequence, append it to Unicode::$data
-                       if (!$remaining)
-                       {
-                               // Percent encode anything invalid or not in iunreserved
-                               if (
-                                       // Invalid sequences
-                                       !$valid
-                                       // Non-shortest form sequences are invalid
-                                       || $length > 1 && $character <= 0x7F
-                                       || $length > 2 && $character <= 0x7FF
-                                       || $length > 3 && $character <= 0xFFFF
-                                       // Outside of range of iunreserved codepoints
-                                       || $character < 0x2D
-                                       || $character > 0xEFFFD
-                                       // Noncharacters
-                                       || ($character & 0xFFFE) === 0xFFFE
-                                       || $character >= 0xFDD0 && $character <= 0xFDEF
-                                       // Everything else not in iunreserved (this is all BMP)
-                                       || $character === 0x2F
-                                       || $character > 0x39 && $character < 0x41
-                                       || $character > 0x5A && $character < 0x61
-                                       || $character > 0x7A && $character < 0x7E
-                                       || $character > 0x7E && $character < 0xA0
-                                       || $character > 0xD7FF && $character < 0xF900
-                               )
-                               {
-                                       for ($j = $start; $j <= $i; $j++)
-                                       {
-                                               $string .= '%' . strtoupper($bytes[$j]);
-                                       }
-                               }
-                               else
-                               {
-                                       for ($j = $start; $j <= $i; $j++)
-                                       {
-                                               $string .= chr(hexdec($bytes[$j]));
-                                       }
-                               }
-                       }
-               }
-
-               // If we have any bytes left over they are invalid (i.e., we are
-               // mid-way through a multi-byte sequence)
-               if ($remaining)
-               {
-                       for ($j = $start; $j < $len; $j++)
-                       {
-                               $string .= '%' . strtoupper($bytes[$j]);
-                       }
-               }
-
-               return $string;
-       }
-
-       protected function scheme_normalization()
-       {
-               if (isset($this->normalization[$this->scheme]['iuserinfo']) && $this->iuserinfo === $this->normalization[$this->scheme]['iuserinfo'])
-               {
-                       $this->iuserinfo = null;
-               }
-               if (isset($this->normalization[$this->scheme]['ihost']) && $this->ihost === $this->normalization[$this->scheme]['ihost'])
-               {
-                       $this->ihost = null;
-               }
-               if (isset($this->normalization[$this->scheme]['port']) && $this->port === $this->normalization[$this->scheme]['port'])
-               {
-                       $this->port = null;
-               }
-               if (isset($this->normalization[$this->scheme]['ipath']) && $this->ipath === $this->normalization[$this->scheme]['ipath'])
-               {
-                       $this->ipath = '';
-               }
-               if (isset($this->normalization[$this->scheme]['iquery']) && $this->iquery === $this->normalization[$this->scheme]['iquery'])
-               {
-                       $this->iquery = null;
-               }
-               if (isset($this->normalization[$this->scheme]['ifragment']) && $this->ifragment === $this->normalization[$this->scheme]['ifragment'])
-               {
-                       $this->ifragment = null;
-               }
-       }
-
-       /**
-        * Check if the object represents a valid IRI. This needs to be done on each
-        * call as some things change depending on another part of the IRI.
-        *
-        * @return bool
-        */
-       public function is_valid()
-       {
-               $isauthority = $this->iuserinfo !== null || $this->ihost !== null || $this->port !== null;
-               if ($this->ipath !== '' &&
-                       (
-                               $isauthority && (
-                                       $this->ipath[0] !== '/' ||
-                                       substr($this->ipath, 0, 2) === '//'
-                               ) ||
-                               (
-                                       $this->scheme === null &&
-                                       !$isauthority &&
-                                       strpos($this->ipath, ':') !== false &&
-                                       (strpos($this->ipath, '/') === false ? true : strpos($this->ipath, ':') < strpos($this->ipath, '/'))
-                               )
-                       )
-               )
-               {
-                       return false;
-               }
-
-               return true;
-       }
-
-       /**
-        * Set the entire IRI. Returns true on success, false on failure (if there
-        * are any invalid characters).
-        *
-        * @param string $iri
-        * @return bool
-        */
-       public function set_iri($iri)
-       {
-               static $cache;
-               if (!$cache)
-               {
-                       $cache = array();
-               }
-
-               if ($iri === null)
-               {
-                       return true;
-               }
-               elseif (isset($cache[$iri]))
-               {
-                       list($this->scheme,
-                                $this->iuserinfo,
-                                $this->ihost,
-                                $this->port,
-                                $this->ipath,
-                                $this->iquery,
-                                $this->ifragment,
-                                $return) = $cache[$iri];
-                       return $return;
-               }
-               else
-               {
-                       $parsed = $this->parse_iri((string) $iri);
-                       if (!$parsed)
-                       {
-                               return false;
-                       }
-
-                       $return = $this->set_scheme($parsed['scheme'])
-                               && $this->set_authority($parsed['authority'])
-                               && $this->set_path($parsed['path'])
-                               && $this->set_query($parsed['query'])
-                               && $this->set_fragment($parsed['fragment']);
-
-                       $cache[$iri] = array($this->scheme,
-                                                                $this->iuserinfo,
-                                                                $this->ihost,
-                                                                $this->port,
-                                                                $this->ipath,
-                                                                $this->iquery,
-                                                                $this->ifragment,
-                                                                $return);
-                       return $return;
-               }
-       }
-
-       /**
-        * Set the scheme. Returns true on success, false on failure (if there are
-        * any invalid characters).
-        *
-        * @param string $scheme
-        * @return bool
-        */
-       public function set_scheme($scheme)
-       {
-               if ($scheme === null)
-               {
-                       $this->scheme = null;
-               }
-               elseif (!preg_match('/^[A-Za-z][0-9A-Za-z+\-.]*$/', $scheme))
-               {
-                       $this->scheme = null;
-                       return false;
-               }
-               else
-               {
-                       $this->scheme = strtolower($scheme);
-               }
-               return true;
-       }
-
-       /**
-        * Set the authority. Returns true on success, false on failure (if there are
-        * any invalid characters).
-        *
-        * @param string $authority
-        * @return bool
-        */
-       public function set_authority($authority)
-       {
-               static $cache;
-               if (!$cache)
-                       $cache = array();
-
-               if ($authority === null)
-               {
-                       $this->iuserinfo = null;
-                       $this->ihost = null;
-                       $this->port = null;
-                       return true;
-               }
-               elseif (isset($cache[$authority]))
-               {
-                       list($this->iuserinfo,
-                                $this->ihost,
-                                $this->port,
-                                $return) = $cache[$authority];
-
-                       return $return;
-               }
-               else
-               {
-                       $remaining = $authority;
-                       if (($iuserinfo_end = strrpos($remaining, '@')) !== false)
-                       {
-                               $iuserinfo = substr($remaining, 0, $iuserinfo_end);
-                               $remaining = substr($remaining, $iuserinfo_end + 1);
-                       }
-                       else
-                       {
-                               $iuserinfo = null;
-                       }
-                       if (($port_start = strpos($remaining, ':', strpos($remaining, ']'))) !== false)
-                       {
-                               if (($port = substr($remaining, $port_start + 1)) === false)
-                               {
-                                       $port = null;
-                               }
-                               $remaining = substr($remaining, 0, $port_start);
-                       }
-                       else
-                       {
-                               $port = null;
-                       }
-
-                       $return = $this->set_userinfo($iuserinfo) &&
-                                         $this->set_host($remaining) &&
-                                         $this->set_port($port);
-
-                       $cache[$authority] = array($this->iuserinfo,
-                                                                          $this->ihost,
-                                                                          $this->port,
-                                                                          $return);
-
-                       return $return;
-               }
-       }
-
-       /**
-        * Set the iuserinfo.
-        *
-        * @param string $iuserinfo
-        * @return bool
-        */
-       public function set_userinfo($iuserinfo)
-       {
-               if ($iuserinfo === null)
-               {
-                       $this->iuserinfo = null;
-               }
-               else
-               {
-                       $this->iuserinfo = $this->replace_invalid_with_pct_encoding($iuserinfo, '!$&\'()*+,;=:');
-                       $this->scheme_normalization();
-               }
-
-               return true;
-       }
-
-       /**
-        * Set the ihost. Returns true on success, false on failure (if there are
-        * any invalid characters).
-        *
-        * @param string $ihost
-        * @return bool
-        */
-       public function set_host($ihost)
-       {
-               if ($ihost === null)
-               {
-                       $this->ihost = null;
-                       return true;
-               }
-               elseif (substr($ihost, 0, 1) === '[' && substr($ihost, -1) === ']')
-               {
-                       if (SimplePie_Net_IPv6::check_ipv6(substr($ihost, 1, -1)))
-                       {
-                               $this->ihost = '[' . SimplePie_Net_IPv6::compress(substr($ihost, 1, -1)) . ']';
-                       }
-                       else
-                       {
-                               $this->ihost = null;
-                               return false;
-                       }
-               }
-               else
-               {
-                       $ihost = $this->replace_invalid_with_pct_encoding($ihost, '!$&\'()*+,;=');
-
-                       // Lowercase, but ignore pct-encoded sections (as they should
-                       // remain uppercase). This must be done after the previous step
-                       // as that can add unescaped characters.
-                       $position = 0;
-                       $strlen = strlen($ihost);
-                       while (($position += strcspn($ihost, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ%', $position)) < $strlen)
-                       {
-                               if ($ihost[$position] === '%')
-                               {
-                                       $position += 3;
-                               }
-                               else
-                               {
-                                       $ihost[$position] = strtolower($ihost[$position]);
-                                       $position++;
-                               }
-                       }
-
-                       $this->ihost = $ihost;
-               }
-
-               $this->scheme_normalization();
-
-               return true;
-       }
-
-       /**
-        * Set the port. Returns true on success, false on failure (if there are
-        * any invalid characters).
-        *
-        * @param string $port
-        * @return bool
-        */
-       public function set_port($port)
-       {
-               if ($port === null)
-               {
-                       $this->port = null;
-                       return true;
-               }
-               elseif (strspn($port, '0123456789') === strlen($port))
-               {
-                       $this->port = (int) $port;
-                       $this->scheme_normalization();
-                       return true;
-               }
-               else
-               {
-                       $this->port = null;
-                       return false;
-               }
-       }
-
-       /**
-        * Set the ipath.
-        *
-        * @param string $ipath
-        * @return bool
-        */
-       public function set_path($ipath)
-       {
-               static $cache;
-               if (!$cache)
-               {
-                       $cache = array();
-               }
-
-               $ipath = (string) $ipath;
-
-               if (isset($cache[$ipath]))
-               {
-                       $this->ipath = $cache[$ipath][(int) ($this->scheme !== null)];
-               }
-               else
-               {
-                       $valid = $this->replace_invalid_with_pct_encoding($ipath, '!$&\'()*+,;=@:/');
-                       $removed = $this->remove_dot_segments($valid);
-
-                       $cache[$ipath] = array($valid, $removed);
-                       $this->ipath =  ($this->scheme !== null) ? $removed : $valid;
-               }
-
-               $this->scheme_normalization();
-               return true;
-       }
-
-       /**
-        * Set the iquery.
-        *
-        * @param string $iquery
-        * @return bool
-        */
-       public function set_query($iquery)
-       {
-               if ($iquery === null)
-               {
-                       $this->iquery = null;
-               }
-               else
-               {
-                       $this->iquery = $this->replace_invalid_with_pct_encoding($iquery, '!$&\'()*+,;=:@/?', true);
-                       $this->scheme_normalization();
-               }
-               return true;
-       }
-
-       /**
-        * Set the ifragment.
-        *
-        * @param string $ifragment
-        * @return bool
-        */
-       public function set_fragment($ifragment)
-       {
-               if ($ifragment === null)
-               {
-                       $this->ifragment = null;
-               }
-               else
-               {
-                       $this->ifragment = $this->replace_invalid_with_pct_encoding($ifragment, '!$&\'()*+,;=:@/?');
-                       $this->scheme_normalization();
-               }
-               return true;
-       }
-
-       /**
-        * Convert an IRI to a URI (or parts thereof)
-        *
-        * @return string
-        */
-       public function to_uri($string)
-       {
-               static $non_ascii;
-               if (!$non_ascii)
-               {
-                       $non_ascii = implode('', range("\x80", "\xFF"));
-               }
-
-               $position = 0;
-               $strlen = strlen($string);
-               while (($position += strcspn($string, $non_ascii, $position)) < $strlen)
-               {
-                       $string = substr_replace($string, sprintf('%%%02X', ord($string[$position])), $position, 1);
-                       $position += 3;
-                       $strlen += 2;
-               }
-
-               return $string;
-       }
-
-       /**
-        * Get the complete IRI
-        *
-        * @return string
-        */
-       public function get_iri()
-       {
-               if (!$this->is_valid())
-               {
-                       return false;
-               }
-
-               $iri = '';
-               if ($this->scheme !== null)
-               {
-                       $iri .= $this->scheme . ':';
-               }
-               if (($iauthority = $this->get_iauthority()) !== null)
-               {
-                       $iri .= '//' . $iauthority;
-               }
-               if ($this->ipath !== '')
-               {
-                       $iri .= $this->ipath;
-               }
-               elseif (!empty($this->normalization[$this->scheme]['ipath']) && $iauthority !== null && $iauthority !== '')
-               {
-                       $iri .= $this->normalization[$this->scheme]['ipath'];
-               }
-               if ($this->iquery !== null)
-               {
-                       $iri .= '?' . $this->iquery;
-               }
-               if ($this->ifragment !== null)
-               {
-                       $iri .= '#' . $this->ifragment;
-               }
-
-               return $iri;
-       }
-
-       /**
-        * Get the complete URI
-        *
-        * @return string
-        */
-       public function get_uri()
-       {
-               return $this->to_uri($this->get_iri());
-       }
-
-       /**
-        * Get the complete iauthority
-        *
-        * @return string
-        */
-       protected function get_iauthority()
-       {
-               if ($this->iuserinfo !== null || $this->ihost !== null || $this->port !== null)
-               {
-                       $iauthority = '';
-                       if ($this->iuserinfo !== null)
-                       {
-                               $iauthority .= $this->iuserinfo . '@';
-                       }
-                       if ($this->ihost !== null)
-                       {
-                               $iauthority .= $this->ihost;
-                       }
-                       if ($this->port !== null)
-                       {
-                               $iauthority .= ':' . $this->port;
-                       }
-                       return $iauthority;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the complete authority
-        *
-        * @return string
-        */
-       protected function get_authority()
-       {
-               $iauthority = $this->get_iauthority();
-               if (is_string($iauthority))
-                       return $this->to_uri($iauthority);
-               else
-                       return $iauthority;
-       }
-}
-
-/**
- * Manages all item-related data
- *
- * Used by {@see SimplePie::get_item()} and {@see SimplePie::get_items()}
- *
- * This class can be overloaded with {@see SimplePie::set_item_class()}
- *
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie_Item
-{
-       /**
-        * Parent feed
-        *
-        * @access private
-        * @var SimplePie
-        */
-       var $feed;
-
-       /**
-        * Raw data
-        *
-        * @access private
-        * @var array
-        */
-       var $data = array();
-
-       /**
-        * Registry object
-        *
-        * @see set_registry
-        * @var SimplePie_Registry
-        */
-       protected $registry;
-
-       /**
-        * Create a new item object
-        *
-        * This is usually used by {@see SimplePie::get_items} and
-        * {@see SimplePie::get_item}. Avoid creating this manually.
-        *
-        * @param SimplePie $feed Parent feed
-        * @param array $data Raw data
-        */
-       public function __construct($feed, $data)
-       {
-               $this->feed = $feed;
-               $this->data = $data;
-       }
-
-       /**
-        * Set the registry handler
-        *
-        * This is usually used by {@see SimplePie_Registry::create}
-        *
-        * @since 1.3
-        * @param SimplePie_Registry $registry
-        */
-       public function set_registry(SimplePie_Registry $registry)
-       {
-               $this->registry = $registry;
-       }
-
-       /**
-        * Get a string representation of the item
-        *
-        * @return string
-        */
-       public function __toString()
-       {
-               return md5(serialize($this->data));
-       }
-
-       /**
-        * Remove items that link back to this before destroying this object
-        */
-       public function __destruct()
-       {
-               if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
-               {
-                       unset($this->feed);
-               }
-       }
-
-       /**
-        * Get data for an item-level element
-        *
-        * This method allows you to get access to ANY element/attribute that is a
-        * sub-element of the item/entry tag.
-        *
-        * See {@see SimplePie::get_feed_tags()} for a description of the return value
-        *
-        * @since 1.0
-        * @see http://simplepie.org/wiki/faq/supported_xml_namespaces
-        * @param string $namespace The URL of the XML namespace of the elements you're trying to access
-        * @param string $tag Tag name
-        * @return array
-        */
-       public function get_item_tags($namespace, $tag)
-       {
-               if (isset($this->data['child'][$namespace][$tag]))
-               {
-                       return $this->data['child'][$namespace][$tag];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the base URL value from the parent feed
-        *
-        * Uses `<xml:base>`
-        *
-        * @param array $element
-        * @return string
-        */
-       public function get_base($element = array())
-       {
-               return $this->feed->get_base($element);
-       }
-
-       /**
-        * Sanitize feed data
-        *
-        * @access private
-        * @see SimplePie::sanitize()
-        * @param string $data Data to sanitize
-        * @param int $type One of the SIMPLEPIE_CONSTRUCT_* constants
-        * @param string $base Base URL to resolve URLs against
-        * @return string Sanitized data
-        */
-       public function sanitize($data, $type, $base = '')
-       {
-               return $this->feed->sanitize($data, $type, $base);
-       }
-
-       /**
-        * Get the parent feed
-        *
-        * Note: this may not work as you think for multifeeds!
-        *
-        * @link http://simplepie.org/faq/typical_multifeed_gotchas#missing_data_from_feed
-        * @since 1.0
-        * @return SimplePie
-        */
-       public function get_feed()
-       {
-               return $this->feed;
-       }
-
-       /**
-        * Get the unique identifier for the item
-        *
-        * This is usually used when writing code to check for new items in a feed.
-        *
-        * Uses `<atom:id>`, `<guid>`, `<dc:identifier>` or the `about` attribute
-        * for RDF. If none of these are supplied (or `$hash` is true), creates an
-        * MD5 hash based on the permalink and title. If either of those are not
-        * supplied, creates a hash based on the full feed data.
-        *
-        * @since Beta 2
-        * @param boolean $hash Should we force using a hash instead of the supplied ID?
-        * @return string
-        */
-       public function get_id($hash = false)
-       {
-               if (!$hash)
-               {
-                       if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'id'))
-                       {
-                               return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'id'))
-                       {
-                               return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'guid'))
-                       {
-                               return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'identifier'))
-                       {
-                               return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'identifier'))
-                       {
-                               return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       elseif (isset($this->data['attribs'][SIMPLEPIE_NAMESPACE_RDF]['about']))
-                       {
-                               return $this->sanitize($this->data['attribs'][SIMPLEPIE_NAMESPACE_RDF]['about'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       elseif (($return = $this->get_permalink()) !== null)
-                       {
-                               return $return;
-                       }
-                       elseif (($return = $this->get_title()) !== null)
-                       {
-                               return $return;
-                       }
-               }
-               if ($this->get_permalink() !== null || $this->get_title() !== null)
-               {
-                       return md5($this->get_permalink() . $this->get_title());
-               }
-               else
-               {
-                       return md5(serialize($this->data));
-               }
-       }
-
-       /**
-        * Get the title of the item
-        *
-        * Uses `<atom:title>`, `<title>` or `<dc:title>`
-        *
-        * @since Beta 2 (previously called `get_item_title` since 0.8)
-        * @return string|null
-        */
-       public function get_title()
-       {
-               if (!isset($this->data['title']))
-               {
-                       if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'title'))
-                       {
-                               $this->data['title'] = $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'title'))
-                       {
-                               $this->data['title'] = $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
-                       {
-                               $this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
-                       {
-                               $this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
-                       {
-                               $this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
-                       {
-                               $this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
-                       {
-                               $this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       else
-                       {
-                               $this->data['title'] = null;
-                       }
-               }
-               return $this->data['title'];
-       }
-
-       /**
-        * Get the content for the item
-        *
-        * Prefers summaries over full content , but will return full content if a
-        * summary does not exist.
-        *
-        * To prefer full content instead, use {@see get_content}
-        *
-        * Uses `<atom:summary>`, `<description>`, `<dc:description>` or
-        * `<itunes:subtitle>`
-        *
-        * @since 0.8
-        * @param boolean $description_only Should we avoid falling back to the content?
-        * @return string|null
-        */
-       public function get_description($description_only = false)
-       {
-               if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'summary'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'summary'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'summary'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'subtitle'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML);
-               }
-
-               elseif (!$description_only)
-               {
-                       return $this->get_content(true);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the content for the item
-        *
-        * Prefers full content over summaries, but will return a summary if full
-        * content does not exist.
-        *
-        * To prefer summaries instead, use {@see get_description}
-        *
-        * Uses `<atom:content>` or `<content:encoded>` (RSS 1.0 Content Module)
-        *
-        * @since 1.0
-        * @param boolean $content_only Should we avoid falling back to the description?
-        * @return string|null
-        */
-       public function get_content($content_only = false)
-       {
-               if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'content'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_content_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'content'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10_MODULES_CONTENT, 'encoded'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
-               }
-               elseif (!$content_only)
-               {
-                       return $this->get_description(true);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a category for the item
-        *
-        * @since Beta 3 (previously called `get_categories()` since Beta 2)
-        * @param int $key The category that you want to return.  Remember that arrays begin with 0, not 1
-        * @return SimplePie_Category|null
-        */
-       public function get_category($key = 0)
-       {
-               $categories = $this->get_categories();
-               if (isset($categories[$key]))
-               {
-                       return $categories[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all categories for the item
-        *
-        * Uses `<atom:category>`, `<category>` or `<dc:subject>`
-        *
-        * @since Beta 3
-        * @return array|null List of {@see SimplePie_Category} objects
-        */
-       public function get_categories()
-       {
-               $categories = array();
-
-               foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
-               {
-                       $term = null;
-                       $scheme = null;
-                       $label = null;
-                       if (isset($category['attribs']['']['term']))
-                       {
-                               $term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($category['attribs']['']['scheme']))
-                       {
-                               $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($category['attribs']['']['label']))
-                       {
-                               $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
-               }
-               foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
-               {
-                       // This is really the label, but keep this as the term also for BC.
-                       // Label will also work on retrieving because that falls back to term.
-                       $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       if (isset($category['attribs']['']['domain']))
-                       {
-                               $scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       else
-                       {
-                               $scheme = null;
-                       }
-                       $categories[] = $this->registry->create('Category', array($term, $scheme, null));
-               }
-               foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
-               {
-                       $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-               foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
-               {
-                       $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-
-               if (!empty($categories))
-               {
-                       return array_unique($categories);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get an author for the item
-        *
-        * @since Beta 2
-        * @param int $key The author that you want to return.  Remember that arrays begin with 0, not 1
-        * @return SimplePie_Author|null
-        */
-       public function get_author($key = 0)
-       {
-               $authors = $this->get_authors();
-               if (isset($authors[$key]))
-               {
-                       return $authors[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a contributor for the item
-        *
-        * @since 1.1
-        * @param int $key The contrbutor that you want to return.  Remember that arrays begin with 0, not 1
-        * @return SimplePie_Author|null
-        */
-       public function get_contributor($key = 0)
-       {
-               $contributors = $this->get_contributors();
-               if (isset($contributors[$key]))
-               {
-                       return $contributors[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all contributors for the item
-        *
-        * Uses `<atom:contributor>`
-        *
-        * @since 1.1
-        * @return array|null List of {@see SimplePie_Author} objects
-        */
-       public function get_contributors()
-       {
-               $contributors = array();
-               foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'contributor') as $contributor)
-               {
-                       $name = null;
-                       $uri = null;
-                       $email = null;
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
-                       {
-                               $uri = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $uri !== null)
-                       {
-                               $contributors[] = $this->registry->create('Author', array($name, $uri, $email));
-                       }
-               }
-               foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
-               {
-                       $name = null;
-                       $url = null;
-                       $email = null;
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
-                       {
-                               $url = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $url !== null)
-                       {
-                               $contributors[] = $this->registry->create('Author', array($name, $url, $email));
-                       }
-               }
-
-               if (!empty($contributors))
-               {
-                       return array_unique($contributors);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all authors for the item
-        *
-        * Uses `<atom:author>`, `<author>`, `<dc:creator>` or `<itunes:author>`
-        *
-        * @since Beta 2
-        * @return array|null List of {@see SimplePie_Author} objects
-        */
-       public function get_authors()
-       {
-               $authors = array();
-               foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author)
-               {
-                       $name = null;
-                       $uri = null;
-                       $email = null;
-                       if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
-                       {
-                               $uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
-                       }
-                       if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $uri !== null)
-                       {
-                               $authors[] = $this->registry->create('Author', array($name, $uri, $email));
-                       }
-               }
-               if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
-               {
-                       $name = null;
-                       $url = null;
-                       $email = null;
-                       if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
-                       {
-                               $url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
-                       }
-                       if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $url !== null)
-                       {
-                               $authors[] = $this->registry->create('Author', array($name, $url, $email));
-                       }
-               }
-               if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'author'))
-               {
-                       $authors[] = $this->registry->create('Author', array(null, null, $this->sanitize($author[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)));
-               }
-               foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
-               {
-                       $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-               foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
-               {
-                       $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-               foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
-               {
-                       $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-
-               if (!empty($authors))
-               {
-                       return array_unique($authors);
-               }
-               elseif (($source = $this->get_source()) && ($authors = $source->get_authors()))
-               {
-                       return $authors;
-               }
-               elseif ($authors = $this->feed->get_authors())
-               {
-                       return $authors;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the copyright info for the item
-        *
-        * Uses `<atom:rights>` or `<dc:rights>`
-        *
-        * @since 1.1
-        * @return string
-        */
-       public function get_copyright()
-       {
-               if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'rights'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'rights'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'rights'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the posting date/time for the item
-        *
-        * Uses `<atom:published>`, `<atom:updated>`, `<atom:issued>`,
-        * `<atom:modified>`, `<pubDate>` or `<dc:date>`
-        *
-        * Note: obeys PHP's timezone setting. To get a UTC date/time, use
-        * {@see get_gmdate}
-        *
-        * @since Beta 2 (previously called `get_item_date` since 0.8)
-        *
-        * @param string $date_format Supports any PHP date format from {@see http://php.net/date} (empty for the raw data)
-        * @return int|string|null
-        */
-       public function get_date($date_format = 'j F Y, g:i a')
-       {
-               if (!isset($this->data['date']))
-               {
-                       if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'published'))
-                       {
-                               $this->data['date']['raw'] = $return[0]['data'];
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'updated'))
-                       {
-                               $this->data['date']['raw'] = $return[0]['data'];
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'issued'))
-                       {
-                               $this->data['date']['raw'] = $return[0]['data'];
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'created'))
-                       {
-                               $this->data['date']['raw'] = $return[0]['data'];
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'modified'))
-                       {
-                               $this->data['date']['raw'] = $return[0]['data'];
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'pubDate'))
-                       {
-                               $this->data['date']['raw'] = $return[0]['data'];
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'date'))
-                       {
-                               $this->data['date']['raw'] = $return[0]['data'];
-                       }
-                       elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'date'))
-                       {
-                               $this->data['date']['raw'] = $return[0]['data'];
-                       }
-
-                       if (!empty($this->data['date']['raw']))
-                       {
-                               $parser = $this->registry->call('Parse_Date', 'get');
-                               $this->data['date']['parsed'] = $parser->parse($this->data['date']['raw']);
-                       }
-                       else
-                       {
-                               $this->data['date'] = null;
-                       }
-               }
-               if ($this->data['date'])
-               {
-                       $date_format = (string) $date_format;
-                       switch ($date_format)
-                       {
-                               case '':
-                                       return $this->sanitize($this->data['date']['raw'], SIMPLEPIE_CONSTRUCT_TEXT);
-
-                               case 'U':
-                                       return $this->data['date']['parsed'];
-
-                               default:
-                                       return date($date_format, $this->data['date']['parsed']);
-                       }
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the update date/time for the item
-        *
-        * Uses `<atom:updated>`
-        *
-        * Note: obeys PHP's timezone setting. To get a UTC date/time, use
-        * {@see get_gmdate}
-        *
-        * @param string $date_format Supports any PHP date format from {@see http://php.net/date} (empty for the raw data)
-        * @return int|string|null
-        */
-       public function get_updated_date($date_format = 'j F Y, g:i a')
-       {
-               if (!isset($this->data['updated']))
-               {
-                       if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'updated'))
-                       {
-                               $this->data['updated']['raw'] = $return[0]['data'];
-                       }
-
-                       if (!empty($this->data['updated']['raw']))
-                       {
-                               $parser = $this->registry->call('Parse_Date', 'get');
-                               $this->data['updated']['parsed'] = $parser->parse($this->data['date']['raw']);
-                       }
-                       else
-                       {
-                               $this->data['updated'] = null;
-                       }
-               }
-               if ($this->data['updated'])
-               {
-                       $date_format = (string) $date_format;
-                       switch ($date_format)
-                       {
-                               case '':
-                                       return $this->sanitize($this->data['updated']['raw'], SIMPLEPIE_CONSTRUCT_TEXT);
-
-                               case 'U':
-                                       return $this->data['updated']['parsed'];
-
-                               default:
-                                       return date($date_format, $this->data['updated']['parsed']);
-                       }
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the localized posting date/time for the item
-        *
-        * Returns the date formatted in the localized language. To display in
-        * languages other than the server's default, you need to change the locale
-        * with {@link http://php.net/setlocale setlocale()}. The available
-        * localizations depend on which ones are installed on your web server.
-        *
-        * @since 1.0
-        *
-        * @param string $date_format Supports any PHP date format from {@see http://php.net/strftime} (empty for the raw data)
-        * @return int|string|null
-        */
-       public function get_local_date($date_format = '%c')
-       {
-               if (!$date_format)
-               {
-                       return $this->sanitize($this->get_date(''), SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif (($date = $this->get_date('U')) !== null && $date !== false)
-               {
-                       return strftime($date_format, $date);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the posting date/time for the item (UTC time)
-        *
-        * @see get_date
-        * @param string $date_format Supports any PHP date format from {@see http://php.net/date}
-        * @return int|string|null
-        */
-       public function get_gmdate($date_format = 'j F Y, g:i a')
-       {
-               $date = $this->get_date('U');
-               if ($date === null)
-               {
-                       return null;
-               }
-
-               return gmdate($date_format, $date);
-       }
-
-       /**
-        * Get the update date/time for the item (UTC time)
-        *
-        * @see get_updated_date
-        * @param string $date_format Supports any PHP date format from {@see http://php.net/date}
-        * @return int|string|null
-        */
-       public function get_updated_gmdate($date_format = 'j F Y, g:i a')
-       {
-               $date = $this->get_updated_date('U');
-               if ($date === null)
-               {
-                       return null;
-               }
-
-               return gmdate($date_format, $date);
-       }
-
-       /**
-        * Get the permalink for the item
-        *
-        * Returns the first link available with a relationship of "alternate".
-        * Identical to {@see get_link()} with key 0
-        *
-        * @see get_link
-        * @since 0.8
-        * @return string|null Permalink URL
-        */
-       public function get_permalink()
-       {
-               $link = $this->get_link();
-               $enclosure = $this->get_enclosure(0);
-               if ($link !== null)
-               {
-                       return $link;
-               }
-               elseif ($enclosure !== null)
-               {
-                       return $enclosure->get_link();
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get a single link for the item
-        *
-        * @since Beta 3
-        * @param int $key The link that you want to return.  Remember that arrays begin with 0, not 1
-        * @param string $rel The relationship of the link to return
-        * @return string|null Link URL
-        */
-       public function get_link($key = 0, $rel = 'alternate')
-       {
-               $links = $this->get_links($rel);
-               if ($links[$key] !== null)
-               {
-                       return $links[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all links for the item
-        *
-        * Uses `<atom:link>`, `<link>` or `<guid>`
-        *
-        * @since Beta 2
-        * @param string $rel The relationship of links to return
-        * @return array|null Links found for the item (strings)
-        */
-       public function get_links($rel = 'alternate')
-       {
-               if (!isset($this->data['links']))
-               {
-                       $this->data['links'] = array();
-                       foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link') as $link)
-                       {
-                               if (isset($link['attribs']['']['href']))
-                               {
-                                       $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
-                                       $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
-
-                               }
-                       }
-                       foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link') as $link)
-                       {
-                               if (isset($link['attribs']['']['href']))
-                               {
-                                       $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
-                                       $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
-                               }
-                       }
-                       if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
-                       {
-                               $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
-                       }
-                       if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
-                       {
-                               $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
-                       }
-                       if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
-                       {
-                               $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
-                       }
-                       if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'guid'))
-                       {
-                               if (!isset($links[0]['attribs']['']['isPermaLink']) || strtolower(trim($links[0]['attribs']['']['isPermaLink'])) === 'true')
-                               {
-                                       $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
-                               }
-                       }
-
-                       $keys = array_keys($this->data['links']);
-                       foreach ($keys as $key)
-                       {
-                               if ($this->registry->call('Misc', 'is_isegment_nz_nc', array($key)))
-                               {
-                                       if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]))
-                                       {
-                                               $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]);
-                                               $this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key];
-                                       }
-                                       else
-                                       {
-                                               $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key];
-                                       }
-                               }
-                               elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY)
-                               {
-                                       $this->data['links'][substr($key, 41)] =& $this->data['links'][$key];
-                               }
-                               $this->data['links'][$key] = array_unique($this->data['links'][$key]);
-                       }
-               }
-               if (isset($this->data['links'][$rel]))
-               {
-                       return $this->data['links'][$rel];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get an enclosure from the item
-        *
-        * Supports the <enclosure> RSS tag, as well as Media RSS and iTunes RSS.
-        *
-        * @since Beta 2
-        * @todo Add ability to prefer one type of content over another (in a media group).
-        * @param int $key The enclosure that you want to return.  Remember that arrays begin with 0, not 1
-        * @return SimplePie_Enclosure|null
-        */
-       public function get_enclosure($key = 0, $prefer = null)
-       {
-               $enclosures = $this->get_enclosures();
-               if (isset($enclosures[$key]))
-               {
-                       return $enclosures[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get all available enclosures (podcasts, etc.)
-        *
-        * Supports the <enclosure> RSS tag, as well as Media RSS and iTunes RSS.
-        *
-        * At this point, we're pretty much assuming that all enclosures for an item
-        * are the same content.  Anything else is too complicated to
-        * properly support.
-        *
-        * @since Beta 2
-        * @todo Add support for end-user defined sorting of enclosures by type/handler (so we can prefer the faster-loading FLV over MP4).
-        * @todo If an element exists at a level, but it's value is empty, we should fall back to the value from the parent (if it exists).
-        * @return array|null List of SimplePie_Enclosure items
-        */
-       public function get_enclosures()
-       {
-               if (!isset($this->data['enclosures']))
-               {
-                       $this->data['enclosures'] = array();
-
-                       // Elements
-                       $captions_parent = null;
-                       $categories_parent = null;
-                       $copyrights_parent = null;
-                       $credits_parent = null;
-                       $description_parent = null;
-                       $duration_parent = null;
-                       $hashes_parent = null;
-                       $keywords_parent = null;
-                       $player_parent = null;
-                       $ratings_parent = null;
-                       $restrictions_parent = null;
-                       $thumbnails_parent = null;
-                       $title_parent = null;
-
-                       // Let's do the channel and item-level ones first, and just re-use them if we need to.
-                       $parent = $this->get_feed();
-
-                       // CAPTIONS
-                       if ($captions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'text'))
-                       {
-                               foreach ($captions as $caption)
-                               {
-                                       $caption_type = null;
-                                       $caption_lang = null;
-                                       $caption_startTime = null;
-                                       $caption_endTime = null;
-                                       $caption_text = null;
-                                       if (isset($caption['attribs']['']['type']))
-                                       {
-                                               $caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($caption['attribs']['']['lang']))
-                                       {
-                                               $caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($caption['attribs']['']['start']))
-                                       {
-                                               $caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($caption['attribs']['']['end']))
-                                       {
-                                               $caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($caption['data']))
-                                       {
-                                               $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       $captions_parent[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
-                               }
-                       }
-                       elseif ($captions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'text'))
-                       {
-                               foreach ($captions as $caption)
-                               {
-                                       $caption_type = null;
-                                       $caption_lang = null;
-                                       $caption_startTime = null;
-                                       $caption_endTime = null;
-                                       $caption_text = null;
-                                       if (isset($caption['attribs']['']['type']))
-                                       {
-                                               $caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($caption['attribs']['']['lang']))
-                                       {
-                                               $caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($caption['attribs']['']['start']))
-                                       {
-                                               $caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($caption['attribs']['']['end']))
-                                       {
-                                               $caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($caption['data']))
-                                       {
-                                               $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       $captions_parent[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
-                               }
-                       }
-                       if (is_array($captions_parent))
-                       {
-                               $captions_parent = array_values(array_unique($captions_parent));
-                       }
-
-                       // CATEGORIES
-                       foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'category') as $category)
-                       {
-                               $term = null;
-                               $scheme = null;
-                               $label = null;
-                               if (isset($category['data']))
-                               {
-                                       $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                               if (isset($category['attribs']['']['scheme']))
-                               {
-                                       $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                               else
-                               {
-                                       $scheme = 'http://search.yahoo.com/mrss/category_schema';
-                               }
-                               if (isset($category['attribs']['']['label']))
-                               {
-                                       $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                               $categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
-                       }
-                       foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'category') as $category)
-                       {
-                               $term = null;
-                               $scheme = null;
-                               $label = null;
-                               if (isset($category['data']))
-                               {
-                                       $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                               if (isset($category['attribs']['']['scheme']))
-                               {
-                                       $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                               else
-                               {
-                                       $scheme = 'http://search.yahoo.com/mrss/category_schema';
-                               }
-                               if (isset($category['attribs']['']['label']))
-                               {
-                                       $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                               $categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
-                       }
-                       foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'category') as $category)
-                       {
-                               $term = null;
-                               $scheme = 'http://www.itunes.com/dtds/podcast-1.0.dtd';
-                               $label = null;
-                               if (isset($category['attribs']['']['text']))
-                               {
-                                       $label = $this->sanitize($category['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                               $categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
-
-                               if (isset($category['child'][SIMPLEPIE_NAMESPACE_ITUNES]['category']))
-                               {
-                                       foreach ((array) $category['child'][SIMPLEPIE_NAMESPACE_ITUNES]['category'] as $subcategory)
-                                       {
-                                               if (isset($subcategory['attribs']['']['text']))
-                                               {
-                                                       $label = $this->sanitize($subcategory['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               $categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
-                                       }
-                               }
-                       }
-                       if (is_array($categories_parent))
-                       {
-                               $categories_parent = array_values(array_unique($categories_parent));
-                       }
-
-                       // COPYRIGHT
-                       if ($copyright = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'copyright'))
-                       {
-                               $copyright_url = null;
-                               $copyright_label = null;
-                               if (isset($copyright[0]['attribs']['']['url']))
-                               {
-                                       $copyright_url = $this->sanitize($copyright[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                               if (isset($copyright[0]['data']))
-                               {
-                                       $copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                               $copyrights_parent = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
-                       }
-                       elseif ($copyright = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'copyright'))
-                       {
-                               $copyright_url = null;
-                               $copyright_label = null;
-                               if (isset($copyright[0]['attribs']['']['url']))
-                               {
-                                       $copyright_url = $this->sanitize($copyright[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                               if (isset($copyright[0]['data']))
-                               {
-                                       $copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                               $copyrights_parent = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
-                       }
-
-                       // CREDITS
-                       if ($credits = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'credit'))
-                       {
-                               foreach ($credits as $credit)
-                               {
-                                       $credit_role = null;
-                                       $credit_scheme = null;
-                                       $credit_name = null;
-                                       if (isset($credit['attribs']['']['role']))
-                                       {
-                                               $credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($credit['attribs']['']['scheme']))
-                                       {
-                                               $credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       else
-                                       {
-                                               $credit_scheme = 'urn:ebu';
-                                       }
-                                       if (isset($credit['data']))
-                                       {
-                                               $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       $credits_parent[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
-                               }
-                       }
-                       elseif ($credits = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'credit'))
-                       {
-                               foreach ($credits as $credit)
-                               {
-                                       $credit_role = null;
-                                       $credit_scheme = null;
-                                       $credit_name = null;
-                                       if (isset($credit['attribs']['']['role']))
-                                       {
-                                               $credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($credit['attribs']['']['scheme']))
-                                       {
-                                               $credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       else
-                                       {
-                                               $credit_scheme = 'urn:ebu';
-                                       }
-                                       if (isset($credit['data']))
-                                       {
-                                               $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       $credits_parent[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
-                               }
-                       }
-                       if (is_array($credits_parent))
-                       {
-                               $credits_parent = array_values(array_unique($credits_parent));
-                       }
-
-                       // DESCRIPTION
-                       if ($description_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'description'))
-                       {
-                               if (isset($description_parent[0]['data']))
-                               {
-                                       $description_parent = $this->sanitize($description_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                       }
-                       elseif ($description_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'description'))
-                       {
-                               if (isset($description_parent[0]['data']))
-                               {
-                                       $description_parent = $this->sanitize($description_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                       }
-
-                       // DURATION
-                       if ($duration_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'duration'))
-                       {
-                               $seconds = null;
-                               $minutes = null;
-                               $hours = null;
-                               if (isset($duration_parent[0]['data']))
-                               {
-                                       $temp = explode(':', $this->sanitize($duration_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
-                                       if (sizeof($temp) > 0)
-                                       {
-                                               $seconds = (int) array_pop($temp);
-                                       }
-                                       if (sizeof($temp) > 0)
-                                       {
-                                               $minutes = (int) array_pop($temp);
-                                               $seconds += $minutes * 60;
-                                       }
-                                       if (sizeof($temp) > 0)
-                                       {
-                                               $hours = (int) array_pop($temp);
-                                               $seconds += $hours * 3600;
-                                       }
-                                       unset($temp);
-                                       $duration_parent = $seconds;
-                               }
-                       }
-
-                       // HASHES
-                       if ($hashes_iterator = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'hash'))
-                       {
-                               foreach ($hashes_iterator as $hash)
-                               {
-                                       $value = null;
-                                       $algo = null;
-                                       if (isset($hash['data']))
-                                       {
-                                               $value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($hash['attribs']['']['algo']))
-                                       {
-                                               $algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       else
-                                       {
-                                               $algo = 'md5';
-                                       }
-                                       $hashes_parent[] = $algo.':'.$value;
-                               }
-                       }
-                       elseif ($hashes_iterator = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'hash'))
-                       {
-                               foreach ($hashes_iterator as $hash)
-                               {
-                                       $value = null;
-                                       $algo = null;
-                                       if (isset($hash['data']))
-                                       {
-                                               $value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($hash['attribs']['']['algo']))
-                                       {
-                                               $algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       else
-                                       {
-                                               $algo = 'md5';
-                                       }
-                                       $hashes_parent[] = $algo.':'.$value;
-                               }
-                       }
-                       if (is_array($hashes_parent))
-                       {
-                               $hashes_parent = array_values(array_unique($hashes_parent));
-                       }
-
-                       // KEYWORDS
-                       if ($keywords = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'keywords'))
-                       {
-                               if (isset($keywords[0]['data']))
-                               {
-                                       $temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
-                                       foreach ($temp as $word)
-                                       {
-                                               $keywords_parent[] = trim($word);
-                                       }
-                               }
-                               unset($temp);
-                       }
-                       elseif ($keywords = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'keywords'))
-                       {
-                               if (isset($keywords[0]['data']))
-                               {
-                                       $temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
-                                       foreach ($temp as $word)
-                                       {
-                                               $keywords_parent[] = trim($word);
-                                       }
-                               }
-                               unset($temp);
-                       }
-                       elseif ($keywords = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'keywords'))
-                       {
-                               if (isset($keywords[0]['data']))
-                               {
-                                       $temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
-                                       foreach ($temp as $word)
-                                       {
-                                               $keywords_parent[] = trim($word);
-                                       }
-                               }
-                               unset($temp);
-                       }
-                       elseif ($keywords = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'keywords'))
-                       {
-                               if (isset($keywords[0]['data']))
-                               {
-                                       $temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
-                                       foreach ($temp as $word)
-                                       {
-                                               $keywords_parent[] = trim($word);
-                                       }
-                               }
-                               unset($temp);
-                       }
-                       if (is_array($keywords_parent))
-                       {
-                               $keywords_parent = array_values(array_unique($keywords_parent));
-                       }
-
-                       // PLAYER
-                       if ($player_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'player'))
-                       {
-                               if (isset($player_parent[0]['attribs']['']['url']))
-                               {
-                                       $player_parent = $this->sanitize($player_parent[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-                               }
-                       }
-                       elseif ($player_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'player'))
-                       {
-                               if (isset($player_parent[0]['attribs']['']['url']))
-                               {
-                                       $player_parent = $this->sanitize($player_parent[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-                               }
-                       }
-
-                       // RATINGS
-                       if ($ratings = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'rating'))
-                       {
-                               foreach ($ratings as $rating)
-                               {
-                                       $rating_scheme = null;
-                                       $rating_value = null;
-                                       if (isset($rating['attribs']['']['scheme']))
-                                       {
-                                               $rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       else
-                                       {
-                                               $rating_scheme = 'urn:simple';
-                                       }
-                                       if (isset($rating['data']))
-                                       {
-                                               $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       $ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
-                               }
-                       }
-                       elseif ($ratings = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit'))
-                       {
-                               foreach ($ratings as $rating)
-                               {
-                                       $rating_scheme = 'urn:itunes';
-                                       $rating_value = null;
-                                       if (isset($rating['data']))
-                                       {
-                                               $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       $ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
-                               }
-                       }
-                       elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'rating'))
-                       {
-                               foreach ($ratings as $rating)
-                               {
-                                       $rating_scheme = null;
-                                       $rating_value = null;
-                                       if (isset($rating['attribs']['']['scheme']))
-                                       {
-                                               $rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       else
-                                       {
-                                               $rating_scheme = 'urn:simple';
-                                       }
-                                       if (isset($rating['data']))
-                                       {
-                                               $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       $ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
-                               }
-                       }
-                       elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit'))
-                       {
-                               foreach ($ratings as $rating)
-                               {
-                                       $rating_scheme = 'urn:itunes';
-                                       $rating_value = null;
-                                       if (isset($rating['data']))
-                                       {
-                                               $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       $ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
-                               }
-                       }
-                       if (is_array($ratings_parent))
-                       {
-                               $ratings_parent = array_values(array_unique($ratings_parent));
-                       }
-
-                       // RESTRICTIONS
-                       if ($restrictions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'restriction'))
-                       {
-                               foreach ($restrictions as $restriction)
-                               {
-                                       $restriction_relationship = null;
-                                       $restriction_type = null;
-                                       $restriction_value = null;
-                                       if (isset($restriction['attribs']['']['relationship']))
-                                       {
-                                               $restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($restriction['attribs']['']['type']))
-                                       {
-                                               $restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($restriction['data']))
-                                       {
-                                               $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       $restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
-                               }
-                       }
-                       elseif ($restrictions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block'))
-                       {
-                               foreach ($restrictions as $restriction)
-                               {
-                                       $restriction_relationship = 'allow';
-                                       $restriction_type = null;
-                                       $restriction_value = 'itunes';
-                                       if (isset($restriction['data']) && strtolower($restriction['data']) === 'yes')
-                                       {
-                                               $restriction_relationship = 'deny';
-                                       }
-                                       $restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
-                               }
-                       }
-                       elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'restriction'))
-                       {
-                               foreach ($restrictions as $restriction)
-                               {
-                                       $restriction_relationship = null;
-                                       $restriction_type = null;
-                                       $restriction_value = null;
-                                       if (isset($restriction['attribs']['']['relationship']))
-                                       {
-                                               $restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($restriction['attribs']['']['type']))
-                                       {
-                                               $restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($restriction['data']))
-                                       {
-                                               $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       $restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
-                               }
-                       }
-                       elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block'))
-                       {
-                               foreach ($restrictions as $restriction)
-                               {
-                                       $restriction_relationship = 'allow';
-                                       $restriction_type = null;
-                                       $restriction_value = 'itunes';
-                                       if (isset($restriction['data']) && strtolower($restriction['data']) === 'yes')
-                                       {
-                                               $restriction_relationship = 'deny';
-                                       }
-                                       $restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
-                               }
-                       }
-                       if (is_array($restrictions_parent))
-                       {
-                               $restrictions_parent = array_values(array_unique($restrictions_parent));
-                       }
-                       else
-                       {
-                               $restrictions_parent = array(new SimplePie_Restriction('allow', null, 'default'));
-                       }
-
-                       // THUMBNAILS
-                       if ($thumbnails = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'thumbnail'))
-                       {
-                               foreach ($thumbnails as $thumbnail)
-                               {
-                                       if (isset($thumbnail['attribs']['']['url']))
-                                       {
-                                               $thumbnails_parent[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-                                       }
-                               }
-                       }
-                       elseif ($thumbnails = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'thumbnail'))
-                       {
-                               foreach ($thumbnails as $thumbnail)
-                               {
-                                       if (isset($thumbnail['attribs']['']['url']))
-                                       {
-                                               $thumbnails_parent[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-                                       }
-                               }
-                       }
-
-                       // TITLES
-                       if ($title_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'title'))
-                       {
-                               if (isset($title_parent[0]['data']))
-                               {
-                                       $title_parent = $this->sanitize($title_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                       }
-                       elseif ($title_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'title'))
-                       {
-                               if (isset($title_parent[0]['data']))
-                               {
-                                       $title_parent = $this->sanitize($title_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                               }
-                       }
-
-                       // Clear the memory
-                       unset($parent);
-
-                       // Attributes
-                       $bitrate = null;
-                       $channels = null;
-                       $duration = null;
-                       $expression = null;
-                       $framerate = null;
-                       $height = null;
-                       $javascript = null;
-                       $lang = null;
-                       $length = null;
-                       $medium = null;
-                       $samplingrate = null;
-                       $type = null;
-                       $url = null;
-                       $width = null;
-
-                       // Elements
-                       $captions = null;
-                       $categories = null;
-                       $copyrights = null;
-                       $credits = null;
-                       $description = null;
-                       $hashes = null;
-                       $keywords = null;
-                       $player = null;
-                       $ratings = null;
-                       $restrictions = null;
-                       $thumbnails = null;
-                       $title = null;
-
-                       // If we have media:group tags, loop through them.
-                       foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'group') as $group)
-                       {
-                               if(isset($group['child']) && isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content']))
-                               {
-                                       // If we have media:content tags, loop through them.
-                                       foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
-                                       {
-                                               if (isset($content['attribs']['']['url']))
-                                               {
-                                                       // Attributes
-                                                       $bitrate = null;
-                                                       $channels = null;
-                                                       $duration = null;
-                                                       $expression = null;
-                                                       $framerate = null;
-                                                       $height = null;
-                                                       $javascript = null;
-                                                       $lang = null;
-                                                       $length = null;
-                                                       $medium = null;
-                                                       $samplingrate = null;
-                                                       $type = null;
-                                                       $url = null;
-                                                       $width = null;
-
-                                                       // Elements
-                                                       $captions = null;
-                                                       $categories = null;
-                                                       $copyrights = null;
-                                                       $credits = null;
-                                                       $description = null;
-                                                       $hashes = null;
-                                                       $keywords = null;
-                                                       $player = null;
-                                                       $ratings = null;
-                                                       $restrictions = null;
-                                                       $thumbnails = null;
-                                                       $title = null;
-
-                                                       // Start checking the attributes of media:content
-                                                       if (isset($content['attribs']['']['bitrate']))
-                                                       {
-                                                               $bitrate = $this->sanitize($content['attribs']['']['bitrate'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       if (isset($content['attribs']['']['channels']))
-                                                       {
-                                                               $channels = $this->sanitize($content['attribs']['']['channels'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       if (isset($content['attribs']['']['duration']))
-                                                       {
-                                                               $duration = $this->sanitize($content['attribs']['']['duration'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       else
-                                                       {
-                                                               $duration = $duration_parent;
-                                                       }
-                                                       if (isset($content['attribs']['']['expression']))
-                                                       {
-                                                               $expression = $this->sanitize($content['attribs']['']['expression'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       if (isset($content['attribs']['']['framerate']))
-                                                       {
-                                                               $framerate = $this->sanitize($content['attribs']['']['framerate'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       if (isset($content['attribs']['']['height']))
-                                                       {
-                                                               $height = $this->sanitize($content['attribs']['']['height'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       if (isset($content['attribs']['']['lang']))
-                                                       {
-                                                               $lang = $this->sanitize($content['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       if (isset($content['attribs']['']['fileSize']))
-                                                       {
-                                                               $length = ceil($content['attribs']['']['fileSize']);
-                                                       }
-                                                       if (isset($content['attribs']['']['medium']))
-                                                       {
-                                                               $medium = $this->sanitize($content['attribs']['']['medium'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       if (isset($content['attribs']['']['samplingrate']))
-                                                       {
-                                                               $samplingrate = $this->sanitize($content['attribs']['']['samplingrate'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       if (isset($content['attribs']['']['type']))
-                                                       {
-                                                               $type = $this->sanitize($content['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       if (isset($content['attribs']['']['width']))
-                                                       {
-                                                               $width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       $url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-
-                                                       // Checking the other optional media: elements. Priority: media:content, media:group, item, channel
-
-                                                       // CAPTIONS
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
-                                                       {
-                                                               foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
-                                                               {
-                                                                       $caption_type = null;
-                                                                       $caption_lang = null;
-                                                                       $caption_startTime = null;
-                                                                       $caption_endTime = null;
-                                                                       $caption_text = null;
-                                                                       if (isset($caption['attribs']['']['type']))
-                                                                       {
-                                                                               $caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($caption['attribs']['']['lang']))
-                                                                       {
-                                                                               $caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($caption['attribs']['']['start']))
-                                                                       {
-                                                                               $caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($caption['attribs']['']['end']))
-                                                                       {
-                                                                               $caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($caption['data']))
-                                                                       {
-                                                                               $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       $captions[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
-                                                               }
-                                                               if (is_array($captions))
-                                                               {
-                                                                       $captions = array_values(array_unique($captions));
-                                                               }
-                                                       }
-                                                       elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
-                                                       {
-                                                               foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
-                                                               {
-                                                                       $caption_type = null;
-                                                                       $caption_lang = null;
-                                                                       $caption_startTime = null;
-                                                                       $caption_endTime = null;
-                                                                       $caption_text = null;
-                                                                       if (isset($caption['attribs']['']['type']))
-                                                                       {
-                                                                               $caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($caption['attribs']['']['lang']))
-                                                                       {
-                                                                               $caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($caption['attribs']['']['start']))
-                                                                       {
-                                                                               $caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($caption['attribs']['']['end']))
-                                                                       {
-                                                                               $caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($caption['data']))
-                                                                       {
-                                                                               $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       $captions[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
-                                                               }
-                                                               if (is_array($captions))
-                                                               {
-                                                                       $captions = array_values(array_unique($captions));
-                                                               }
-                                                       }
-                                                       else
-                                                       {
-                                                               $captions = $captions_parent;
-                                                       }
-
-                                                       // CATEGORIES
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
-                                                       {
-                                                               foreach ((array) $content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
-                                                               {
-                                                                       $term = null;
-                                                                       $scheme = null;
-                                                                       $label = null;
-                                                                       if (isset($category['data']))
-                                                                       {
-                                                                               $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($category['attribs']['']['scheme']))
-                                                                       {
-                                                                               $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       else
-                                                                       {
-                                                                               $scheme = 'http://search.yahoo.com/mrss/category_schema';
-                                                                       }
-                                                                       if (isset($category['attribs']['']['label']))
-                                                                       {
-                                                                               $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
-                                                               }
-                                                       }
-                                                       if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
-                                                       {
-                                                               foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
-                                                               {
-                                                                       $term = null;
-                                                                       $scheme = null;
-                                                                       $label = null;
-                                                                       if (isset($category['data']))
-                                                                       {
-                                                                               $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($category['attribs']['']['scheme']))
-                                                                       {
-                                                                               $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       else
-                                                                       {
-                                                                               $scheme = 'http://search.yahoo.com/mrss/category_schema';
-                                                                       }
-                                                                       if (isset($category['attribs']['']['label']))
-                                                                       {
-                                                                               $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
-                                                               }
-                                                       }
-                                                       if (is_array($categories) && is_array($categories_parent))
-                                                       {
-                                                               $categories = array_values(array_unique(array_merge($categories, $categories_parent)));
-                                                       }
-                                                       elseif (is_array($categories))
-                                                       {
-                                                               $categories = array_values(array_unique($categories));
-                                                       }
-                                                       elseif (is_array($categories_parent))
-                                                       {
-                                                               $categories = array_values(array_unique($categories_parent));
-                                                       }
-
-                                                       // COPYRIGHTS
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
-                                                       {
-                                                               $copyright_url = null;
-                                                               $copyright_label = null;
-                                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
-                                                               {
-                                                                       $copyright_url = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
-                                                               {
-                                                                       $copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               $copyrights = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
-                                                       }
-                                                       elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
-                                                       {
-                                                               $copyright_url = null;
-                                                               $copyright_label = null;
-                                                               if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
-                                                               {
-                                                                       $copyright_url = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
-                                                               {
-                                                                       $copyright_label = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               $copyrights = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
-                                                       }
-                                                       else
-                                                       {
-                                                               $copyrights = $copyrights_parent;
-                                                       }
-
-                                                       // CREDITS
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
-                                                       {
-                                                               foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
-                                                               {
-                                                                       $credit_role = null;
-                                                                       $credit_scheme = null;
-                                                                       $credit_name = null;
-                                                                       if (isset($credit['attribs']['']['role']))
-                                                                       {
-                                                                               $credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($credit['attribs']['']['scheme']))
-                                                                       {
-                                                                               $credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       else
-                                                                       {
-                                                                               $credit_scheme = 'urn:ebu';
-                                                                       }
-                                                                       if (isset($credit['data']))
-                                                                       {
-                                                                               $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       $credits[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
-                                                               }
-                                                               if (is_array($credits))
-                                                               {
-                                                                       $credits = array_values(array_unique($credits));
-                                                               }
-                                                       }
-                                                       elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
-                                                       {
-                                                               foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
-                                                               {
-                                                                       $credit_role = null;
-                                                                       $credit_scheme = null;
-                                                                       $credit_name = null;
-                                                                       if (isset($credit['attribs']['']['role']))
-                                                                       {
-                                                                               $credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($credit['attribs']['']['scheme']))
-                                                                       {
-                                                                               $credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       else
-                                                                       {
-                                                                               $credit_scheme = 'urn:ebu';
-                                                                       }
-                                                                       if (isset($credit['data']))
-                                                                       {
-                                                                               $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       $credits[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
-                                                               }
-                                                               if (is_array($credits))
-                                                               {
-                                                                       $credits = array_values(array_unique($credits));
-                                                               }
-                                                       }
-                                                       else
-                                                       {
-                                                               $credits = $credits_parent;
-                                                       }
-
-                                                       // DESCRIPTION
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
-                                                       {
-                                                               $description = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
-                                                       {
-                                                               $description = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       else
-                                                       {
-                                                               $description = $description_parent;
-                                                       }
-
-                                                       // HASHES
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
-                                                       {
-                                                               foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
-                                                               {
-                                                                       $value = null;
-                                                                       $algo = null;
-                                                                       if (isset($hash['data']))
-                                                                       {
-                                                                               $value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($hash['attribs']['']['algo']))
-                                                                       {
-                                                                               $algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       else
-                                                                       {
-                                                                               $algo = 'md5';
-                                                                       }
-                                                                       $hashes[] = $algo.':'.$value;
-                                                               }
-                                                               if (is_array($hashes))
-                                                               {
-                                                                       $hashes = array_values(array_unique($hashes));
-                                                               }
-                                                       }
-                                                       elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
-                                                       {
-                                                               foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
-                                                               {
-                                                                       $value = null;
-                                                                       $algo = null;
-                                                                       if (isset($hash['data']))
-                                                                       {
-                                                                               $value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($hash['attribs']['']['algo']))
-                                                                       {
-                                                                               $algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       else
-                                                                       {
-                                                                               $algo = 'md5';
-                                                                       }
-                                                                       $hashes[] = $algo.':'.$value;
-                                                               }
-                                                               if (is_array($hashes))
-                                                               {
-                                                                       $hashes = array_values(array_unique($hashes));
-                                                               }
-                                                       }
-                                                       else
-                                                       {
-                                                               $hashes = $hashes_parent;
-                                                       }
-
-                                                       // KEYWORDS
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
-                                                       {
-                                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
-                                                               {
-                                                                       $temp = explode(',', $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
-                                                                       foreach ($temp as $word)
-                                                                       {
-                                                                               $keywords[] = trim($word);
-                                                                       }
-                                                                       unset($temp);
-                                                               }
-                                                               if (is_array($keywords))
-                                                               {
-                                                                       $keywords = array_values(array_unique($keywords));
-                                                               }
-                                                       }
-                                                       elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
-                                                       {
-                                                               if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
-                                                               {
-                                                                       $temp = explode(',', $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
-                                                                       foreach ($temp as $word)
-                                                                       {
-                                                                               $keywords[] = trim($word);
-                                                                       }
-                                                                       unset($temp);
-                                                               }
-                                                               if (is_array($keywords))
-                                                               {
-                                                                       $keywords = array_values(array_unique($keywords));
-                                                               }
-                                                       }
-                                                       else
-                                                       {
-                                                               $keywords = $keywords_parent;
-                                                       }
-
-                                                       // PLAYER
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
-                                                       {
-                                                               $player = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-                                                       }
-                                                       elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
-                                                       {
-                                                               $player = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-                                                       }
-                                                       else
-                                                       {
-                                                               $player = $player_parent;
-                                                       }
-
-                                                       // RATINGS
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
-                                                       {
-                                                               foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
-                                                               {
-                                                                       $rating_scheme = null;
-                                                                       $rating_value = null;
-                                                                       if (isset($rating['attribs']['']['scheme']))
-                                                                       {
-                                                                               $rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       else
-                                                                       {
-                                                                               $rating_scheme = 'urn:simple';
-                                                                       }
-                                                                       if (isset($rating['data']))
-                                                                       {
-                                                                               $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       $ratings[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
-                                                               }
-                                                               if (is_array($ratings))
-                                                               {
-                                                                       $ratings = array_values(array_unique($ratings));
-                                                               }
-                                                       }
-                                                       elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
-                                                       {
-                                                               foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
-                                                               {
-                                                                       $rating_scheme = null;
-                                                                       $rating_value = null;
-                                                                       if (isset($rating['attribs']['']['scheme']))
-                                                                       {
-                                                                               $rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       else
-                                                                       {
-                                                                               $rating_scheme = 'urn:simple';
-                                                                       }
-                                                                       if (isset($rating['data']))
-                                                                       {
-                                                                               $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       $ratings[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
-                                                               }
-                                                               if (is_array($ratings))
-                                                               {
-                                                                       $ratings = array_values(array_unique($ratings));
-                                                               }
-                                                       }
-                                                       else
-                                                       {
-                                                               $ratings = $ratings_parent;
-                                                       }
-
-                                                       // RESTRICTIONS
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
-                                                       {
-                                                               foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
-                                                               {
-                                                                       $restriction_relationship = null;
-                                                                       $restriction_type = null;
-                                                                       $restriction_value = null;
-                                                                       if (isset($restriction['attribs']['']['relationship']))
-                                                                       {
-                                                                               $restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($restriction['attribs']['']['type']))
-                                                                       {
-                                                                               $restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($restriction['data']))
-                                                                       {
-                                                                               $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       $restrictions[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
-                                                               }
-                                                               if (is_array($restrictions))
-                                                               {
-                                                                       $restrictions = array_values(array_unique($restrictions));
-                                                               }
-                                                       }
-                                                       elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
-                                                       {
-                                                               foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
-                                                               {
-                                                                       $restriction_relationship = null;
-                                                                       $restriction_type = null;
-                                                                       $restriction_value = null;
-                                                                       if (isset($restriction['attribs']['']['relationship']))
-                                                                       {
-                                                                               $restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($restriction['attribs']['']['type']))
-                                                                       {
-                                                                               $restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       if (isset($restriction['data']))
-                                                                       {
-                                                                               $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                                       }
-                                                                       $restrictions[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
-                                                               }
-                                                               if (is_array($restrictions))
-                                                               {
-                                                                       $restrictions = array_values(array_unique($restrictions));
-                                                               }
-                                                       }
-                                                       else
-                                                       {
-                                                               $restrictions = $restrictions_parent;
-                                                       }
-
-                                                       // THUMBNAILS
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
-                                                       {
-                                                               foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
-                                                               {
-                                                                       $thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-                                                               }
-                                                               if (is_array($thumbnails))
-                                                               {
-                                                                       $thumbnails = array_values(array_unique($thumbnails));
-                                                               }
-                                                       }
-                                                       elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
-                                                       {
-                                                               foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
-                                                               {
-                                                                       $thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-                                                               }
-                                                               if (is_array($thumbnails))
-                                                               {
-                                                                       $thumbnails = array_values(array_unique($thumbnails));
-                                                               }
-                                                       }
-                                                       else
-                                                       {
-                                                               $thumbnails = $thumbnails_parent;
-                                                       }
-
-                                                       // TITLES
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
-                                                       {
-                                                               $title = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
-                                                       {
-                                                               $title = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       else
-                                                       {
-                                                               $title = $title_parent;
-                                                       }
-
-                                                       $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width));
-                                               }
-                                       }
-                               }
-                       }
-
-                       // If we have standalone media:content tags, loop through them.
-                       if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content']))
-                       {
-                               foreach ((array) $this->data['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
-                               {
-                                       if (isset($content['attribs']['']['url']) || isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
-                                       {
-                                               // Attributes
-                                               $bitrate = null;
-                                               $channels = null;
-                                               $duration = null;
-                                               $expression = null;
-                                               $framerate = null;
-                                               $height = null;
-                                               $javascript = null;
-                                               $lang = null;
-                                               $length = null;
-                                               $medium = null;
-                                               $samplingrate = null;
-                                               $type = null;
-                                               $url = null;
-                                               $width = null;
-
-                                               // Elements
-                                               $captions = null;
-                                               $categories = null;
-                                               $copyrights = null;
-                                               $credits = null;
-                                               $description = null;
-                                               $hashes = null;
-                                               $keywords = null;
-                                               $player = null;
-                                               $ratings = null;
-                                               $restrictions = null;
-                                               $thumbnails = null;
-                                               $title = null;
-
-                                               // Start checking the attributes of media:content
-                                               if (isset($content['attribs']['']['bitrate']))
-                                               {
-                                                       $bitrate = $this->sanitize($content['attribs']['']['bitrate'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               if (isset($content['attribs']['']['channels']))
-                                               {
-                                                       $channels = $this->sanitize($content['attribs']['']['channels'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               if (isset($content['attribs']['']['duration']))
-                                               {
-                                                       $duration = $this->sanitize($content['attribs']['']['duration'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               else
-                                               {
-                                                       $duration = $duration_parent;
-                                               }
-                                               if (isset($content['attribs']['']['expression']))
-                                               {
-                                                       $expression = $this->sanitize($content['attribs']['']['expression'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               if (isset($content['attribs']['']['framerate']))
-                                               {
-                                                       $framerate = $this->sanitize($content['attribs']['']['framerate'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               if (isset($content['attribs']['']['height']))
-                                               {
-                                                       $height = $this->sanitize($content['attribs']['']['height'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               if (isset($content['attribs']['']['lang']))
-                                               {
-                                                       $lang = $this->sanitize($content['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               if (isset($content['attribs']['']['fileSize']))
-                                               {
-                                                       $length = ceil($content['attribs']['']['fileSize']);
-                                               }
-                                               if (isset($content['attribs']['']['medium']))
-                                               {
-                                                       $medium = $this->sanitize($content['attribs']['']['medium'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               if (isset($content['attribs']['']['samplingrate']))
-                                               {
-                                                       $samplingrate = $this->sanitize($content['attribs']['']['samplingrate'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               if (isset($content['attribs']['']['type']))
-                                               {
-                                                       $type = $this->sanitize($content['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               if (isset($content['attribs']['']['width']))
-                                               {
-                                                       $width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               if (isset($content['attribs']['']['url']))
-                                               {
-                                                       $url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-                                               }
-                                               // Checking the other optional media: elements. Priority: media:content, media:group, item, channel
-
-                                               // CAPTIONS
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
-                                               {
-                                                       foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
-                                                       {
-                                                               $caption_type = null;
-                                                               $caption_lang = null;
-                                                               $caption_startTime = null;
-                                                               $caption_endTime = null;
-                                                               $caption_text = null;
-                                                               if (isset($caption['attribs']['']['type']))
-                                                               {
-                                                                       $caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               if (isset($caption['attribs']['']['lang']))
-                                                               {
-                                                                       $caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               if (isset($caption['attribs']['']['start']))
-                                                               {
-                                                                       $caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               if (isset($caption['attribs']['']['end']))
-                                                               {
-                                                                       $caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               if (isset($caption['data']))
-                                                               {
-                                                                       $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               $captions[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
-                                                       }
-                                                       if (is_array($captions))
-                                                       {
-                                                               $captions = array_values(array_unique($captions));
-                                                       }
-                                               }
-                                               else
-                                               {
-                                                       $captions = $captions_parent;
-                                               }
-
-                                               // CATEGORIES
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
-                                               {
-                                                       foreach ((array) $content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
-                                                       {
-                                                               $term = null;
-                                                               $scheme = null;
-                                                               $label = null;
-                                                               if (isset($category['data']))
-                                                               {
-                                                                       $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               if (isset($category['attribs']['']['scheme']))
-                                                               {
-                                                                       $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               else
-                                                               {
-                                                                       $scheme = 'http://search.yahoo.com/mrss/category_schema';
-                                                               }
-                                                               if (isset($category['attribs']['']['label']))
-                                                               {
-                                                                       $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
-                                                       }
-                                               }
-                                               if (is_array($categories) && is_array($categories_parent))
-                                               {
-                                                       $categories = array_values(array_unique(array_merge($categories, $categories_parent)));
-                                               }
-                                               elseif (is_array($categories))
-                                               {
-                                                       $categories = array_values(array_unique($categories));
-                                               }
-                                               elseif (is_array($categories_parent))
-                                               {
-                                                       $categories = array_values(array_unique($categories_parent));
-                                               }
-                                               else
-                                               {
-                                                       $categories = null;
-                                               }
-
-                                               // COPYRIGHTS
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
-                                               {
-                                                       $copyright_url = null;
-                                                       $copyright_label = null;
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
-                                                       {
-                                                               $copyright_url = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
-                                                       {
-                                                               $copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                       }
-                                                       $copyrights = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
-                                               }
-                                               else
-                                               {
-                                                       $copyrights = $copyrights_parent;
-                                               }
-
-                                               // CREDITS
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
-                                               {
-                                                       foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
-                                                       {
-                                                               $credit_role = null;
-                                                               $credit_scheme = null;
-                                                               $credit_name = null;
-                                                               if (isset($credit['attribs']['']['role']))
-                                                               {
-                                                                       $credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               if (isset($credit['attribs']['']['scheme']))
-                                                               {
-                                                                       $credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               else
-                                                               {
-                                                                       $credit_scheme = 'urn:ebu';
-                                                               }
-                                                               if (isset($credit['data']))
-                                                               {
-                                                                       $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               $credits[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
-                                                       }
-                                                       if (is_array($credits))
-                                                       {
-                                                               $credits = array_values(array_unique($credits));
-                                                       }
-                                               }
-                                               else
-                                               {
-                                                       $credits = $credits_parent;
-                                               }
-
-                                               // DESCRIPTION
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
-                                               {
-                                                       $description = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               else
-                                               {
-                                                       $description = $description_parent;
-                                               }
-
-                                               // HASHES
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
-                                               {
-                                                       foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
-                                                       {
-                                                               $value = null;
-                                                               $algo = null;
-                                                               if (isset($hash['data']))
-                                                               {
-                                                                       $value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               if (isset($hash['attribs']['']['algo']))
-                                                               {
-                                                                       $algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               else
-                                                               {
-                                                                       $algo = 'md5';
-                                                               }
-                                                               $hashes[] = $algo.':'.$value;
-                                                       }
-                                                       if (is_array($hashes))
-                                                       {
-                                                               $hashes = array_values(array_unique($hashes));
-                                                       }
-                                               }
-                                               else
-                                               {
-                                                       $hashes = $hashes_parent;
-                                               }
-
-                                               // KEYWORDS
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
-                                               {
-                                                       if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
-                                                       {
-                                                               $temp = explode(',', $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
-                                                               foreach ($temp as $word)
-                                                               {
-                                                                       $keywords[] = trim($word);
-                                                               }
-                                                               unset($temp);
-                                                       }
-                                                       if (is_array($keywords))
-                                                       {
-                                                               $keywords = array_values(array_unique($keywords));
-                                                       }
-                                               }
-                                               else
-                                               {
-                                                       $keywords = $keywords_parent;
-                                               }
-
-                                               // PLAYER
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
-                                               {
-                                                       $player = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-                                               }
-                                               else
-                                               {
-                                                       $player = $player_parent;
-                                               }
-
-                                               // RATINGS
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
-                                               {
-                                                       foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
-                                                       {
-                                                               $rating_scheme = null;
-                                                               $rating_value = null;
-                                                               if (isset($rating['attribs']['']['scheme']))
-                                                               {
-                                                                       $rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               else
-                                                               {
-                                                                       $rating_scheme = 'urn:simple';
-                                                               }
-                                                               if (isset($rating['data']))
-                                                               {
-                                                                       $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               $ratings[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
-                                                       }
-                                                       if (is_array($ratings))
-                                                       {
-                                                               $ratings = array_values(array_unique($ratings));
-                                                       }
-                                               }
-                                               else
-                                               {
-                                                       $ratings = $ratings_parent;
-                                               }
-
-                                               // RESTRICTIONS
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
-                                               {
-                                                       foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
-                                                       {
-                                                               $restriction_relationship = null;
-                                                               $restriction_type = null;
-                                                               $restriction_value = null;
-                                                               if (isset($restriction['attribs']['']['relationship']))
-                                                               {
-                                                                       $restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               if (isset($restriction['attribs']['']['type']))
-                                                               {
-                                                                       $restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               if (isset($restriction['data']))
-                                                               {
-                                                                       $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                                               }
-                                                               $restrictions[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
-                                                       }
-                                                       if (is_array($restrictions))
-                                                       {
-                                                               $restrictions = array_values(array_unique($restrictions));
-                                                       }
-                                               }
-                                               else
-                                               {
-                                                       $restrictions = $restrictions_parent;
-                                               }
-
-                                               // THUMBNAILS
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
-                                               {
-                                                       foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
-                                                       {
-                                                               $thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
-                                                       }
-                                                       if (is_array($thumbnails))
-                                                       {
-                                                               $thumbnails = array_values(array_unique($thumbnails));
-                                                       }
-                                               }
-                                               else
-                                               {
-                                                       $thumbnails = $thumbnails_parent;
-                                               }
-
-                                               // TITLES
-                                               if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
-                                               {
-                                                       $title = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                               }
-                                               else
-                                               {
-                                                       $title = $title_parent;
-                                               }
-
-                                               $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width));
-                                       }
-                               }
-                       }
-
-                       foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link') as $link)
-                       {
-                               if (isset($link['attribs']['']['href']) && !empty($link['attribs']['']['rel']) && $link['attribs']['']['rel'] === 'enclosure')
-                               {
-                                       // Attributes
-                                       $bitrate = null;
-                                       $channels = null;
-                                       $duration = null;
-                                       $expression = null;
-                                       $framerate = null;
-                                       $height = null;
-                                       $javascript = null;
-                                       $lang = null;
-                                       $length = null;
-                                       $medium = null;
-                                       $samplingrate = null;
-                                       $type = null;
-                                       $url = null;
-                                       $width = null;
-
-                                       $url = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
-                                       if (isset($link['attribs']['']['type']))
-                                       {
-                                               $type = $this->sanitize($link['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($link['attribs']['']['length']))
-                                       {
-                                               $length = ceil($link['attribs']['']['length']);
-                                       }
-
-                                       // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
-                                       $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width));
-                               }
-                       }
-
-                       foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link') as $link)
-                       {
-                               if (isset($link['attribs']['']['href']) && !empty($link['attribs']['']['rel']) && $link['attribs']['']['rel'] === 'enclosure')
-                               {
-                                       // Attributes
-                                       $bitrate = null;
-                                       $channels = null;
-                                       $duration = null;
-                                       $expression = null;
-                                       $framerate = null;
-                                       $height = null;
-                                       $javascript = null;
-                                       $lang = null;
-                                       $length = null;
-                                       $medium = null;
-                                       $samplingrate = null;
-                                       $type = null;
-                                       $url = null;
-                                       $width = null;
-
-                                       $url = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
-                                       if (isset($link['attribs']['']['type']))
-                                       {
-                                               $type = $this->sanitize($link['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($link['attribs']['']['length']))
-                                       {
-                                               $length = ceil($link['attribs']['']['length']);
-                                       }
-
-                                       // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
-                                       $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width));
-                               }
-                       }
-
-                       if ($enclosure = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'enclosure'))
-                       {
-                               if (isset($enclosure[0]['attribs']['']['url']))
-                               {
-                                       // Attributes
-                                       $bitrate = null;
-                                       $channels = null;
-                                       $duration = null;
-                                       $expression = null;
-                                       $framerate = null;
-                                       $height = null;
-                                       $javascript = null;
-                                       $lang = null;
-                                       $length = null;
-                                       $medium = null;
-                                       $samplingrate = null;
-                                       $type = null;
-                                       $url = null;
-                                       $width = null;
-
-                                       $url = $this->sanitize($enclosure[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($enclosure[0]));
-                                       if (isset($enclosure[0]['attribs']['']['type']))
-                                       {
-                                               $type = $this->sanitize($enclosure[0]['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
-                                       }
-                                       if (isset($enclosure[0]['attribs']['']['length']))
-                                       {
-                                               $length = ceil($enclosure[0]['attribs']['']['length']);
-                                       }
-
-                                       // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
-                                       $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width));
-                               }
-                       }
-
-                       if (sizeof($this->data['enclosures']) === 0 && ($url || $type || $length || $bitrate || $captions_parent || $categories_parent || $channels || $copyrights_parent || $credits_parent || $description_parent || $duration_parent || $expression || $framerate || $hashes_parent || $height || $keywords_parent || $lang || $medium || $player_parent || $ratings_parent || $restrictions_parent || $samplingrate || $thumbnails_parent || $title_parent || $width))
-                       {
-                               // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
-                               $this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width));
-                       }
-
-                       $this->data['enclosures'] = array_values(array_unique($this->data['enclosures']));
-               }
-               if (!empty($this->data['enclosures']))
-               {
-                       return $this->data['enclosures'];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the latitude coordinates for the item
-        *
-        * Compatible with the W3C WGS84 Basic Geo and GeoRSS specifications
-        *
-        * Uses `<geo:lat>` or `<georss:point>`
-        *
-        * @since 1.0
-        * @link http://www.w3.org/2003/01/geo/ W3C WGS84 Basic Geo
-        * @link http://www.georss.org/ GeoRSS
-        * @return string|null
-        */
-       public function get_latitude()
-       {
-               if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lat'))
-               {
-                       return (float) $return[0]['data'];
-               }
-               elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
-               {
-                       return (float) $match[1];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the longitude coordinates for the item
-        *
-        * Compatible with the W3C WGS84 Basic Geo and GeoRSS specifications
-        *
-        * Uses `<geo:long>`, `<geo:lon>` or `<georss:point>`
-        *
-        * @since 1.0
-        * @link http://www.w3.org/2003/01/geo/ W3C WGS84 Basic Geo
-        * @link http://www.georss.org/ GeoRSS
-        * @return string|null
-        */
-       public function get_longitude()
-       {
-               if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'long'))
-               {
-                       return (float) $return[0]['data'];
-               }
-               elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lon'))
-               {
-                       return (float) $return[0]['data'];
-               }
-               elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
-               {
-                       return (float) $match[2];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the `<atom:source>` for the item
-        *
-        * @since 1.1
-        * @return SimplePie_Source|null
-        */
-       public function get_source()
-       {
-               if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'source'))
-               {
-                       return $this->registry->create('Source', array($this, $return[0]));
-               }
-               else
-               {
-                       return null;
-               }
-       }
-}
-
-/**
- * Used for feed auto-discovery
- *
- *
- * This class can be overloaded with {@see SimplePie::set_locator_class()}
- *
- * @package SimplePie
- */
-class SimplePie_Locator
-{
-       var $useragent;
-       var $timeout;
-       var $file;
-       var $local = array();
-       var $elsewhere = array();
-       var $cached_entities = array();
-       var $http_base;
-       var $base;
-       var $base_location = 0;
-       var $checked_feeds = 0;
-       var $max_checked_feeds = 10;
-       protected $registry;
-
-       public function __construct(SimplePie_File $file, $timeout = 10, $useragent = null, $max_checked_feeds = 10)
-       {
-               $this->file = $file;
-               $this->useragent = $useragent;
-               $this->timeout = $timeout;
-               $this->max_checked_feeds = $max_checked_feeds;
-
-               if (class_exists('DOMDocument'))
-               {
-                       $this->dom = new DOMDocument();
-
-                       set_error_handler(array('SimplePie_Misc', 'silence_errors'));
-                       $this->dom->loadHTML($this->file->body);
-                       restore_error_handler();
-               }
-               else
-               {
-                       $this->dom = null;
-               }
-       }
-
-       public function set_registry(SimplePie_Registry $registry)
-       {
-               $this->registry = $registry;
-       }
-
-       public function find($type = SIMPLEPIE_LOCATOR_ALL, &$working)
-       {
-               if ($this->is_feed($this->file))
-               {
-                       return $this->file;
-               }
-
-               if ($this->file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
-               {
-                       $sniffer = $this->registry->create('Content_Type_Sniffer', array($this->file));
-                       if ($sniffer->get_type() !== 'text/html')
-                       {
-                               return null;
-                       }
-               }
-
-               if ($type & ~SIMPLEPIE_LOCATOR_NONE)
-               {
-                       $this->get_base();
-               }
-
-               if ($type & SIMPLEPIE_LOCATOR_AUTODISCOVERY && $working = $this->autodiscovery())
-               {
-                       return $working[0];
-               }
-
-               if ($type & (SIMPLEPIE_LOCATOR_LOCAL_EXTENSION | SIMPLEPIE_LOCATOR_LOCAL_BODY | SIMPLEPIE_LOCATOR_REMOTE_EXTENSION | SIMPLEPIE_LOCATOR_REMOTE_BODY) && $this->get_links())
-               {
-                       if ($type & SIMPLEPIE_LOCATOR_LOCAL_EXTENSION && $working = $this->extension($this->local))
-                       {
-                               return $working;
-                       }
-
-                       if ($type & SIMPLEPIE_LOCATOR_LOCAL_BODY && $working = $this->body($this->local))
-                       {
-                               return $working;
-                       }
-
-                       if ($type & SIMPLEPIE_LOCATOR_REMOTE_EXTENSION && $working = $this->extension($this->elsewhere))
-                       {
-                               return $working;
-                       }
-
-                       if ($type & SIMPLEPIE_LOCATOR_REMOTE_BODY && $working = $this->body($this->elsewhere))
-                       {
-                               return $working;
-                       }
-               }
-               return null;
-       }
-
-       public function is_feed($file)
-       {
-               if ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
-               {
-                       $sniffer = $this->registry->create('Content_Type_Sniffer', array($file));
-                       $sniffed = $sniffer->get_type();
-                       if (in_array($sniffed, array('application/rss+xml', 'application/rdf+xml', 'text/rdf', 'application/atom+xml', 'text/xml', 'application/xml')))
-                       {
-                               return true;
-                       }
-                       else
-                       {
-                               return false;
-                       }
-               }
-               elseif ($file->method & SIMPLEPIE_FILE_SOURCE_LOCAL)
-               {
-                       return true;
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       public function get_base()
-       {
-               if ($this->dom === null)
-               {
-                       throw new SimplePie_Exception('DOMDocument not found, unable to use locator');
-               }
-               $this->http_base = $this->file->url;
-               $this->base = $this->http_base;
-               $elements = $this->dom->getElementsByTagName('base');
-               foreach ($elements as $element)
-               {
-                       if ($element->hasAttribute('href'))
-                       {
-                               $base = $this->registry->call('Misc', 'absolutize_url', array(trim($element->getAttribute('href')), $this->http_base));
-                               if ($base === false)
-                               {
-                                       continue;
-                               }
-                               $this->base = $base;
-                               $this->base_location = method_exists($element, 'getLineNo') ? $element->getLineNo() : 0;
-                               break;
-                       }
-               }
-       }
-
-       public function autodiscovery()
-       {
-               $done = array();
-               $feeds = array();
-               $feeds = array_merge($feeds, $this->search_elements_by_tag('link', $done, $feeds));
-               $feeds = array_merge($feeds, $this->search_elements_by_tag('a', $done, $feeds));
-               $feeds = array_merge($feeds, $this->search_elements_by_tag('area', $done, $feeds));
-
-               if (!empty($feeds))
-               {
-                       return array_values($feeds);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       protected function search_elements_by_tag($name, &$done, $feeds)
-       {
-               if ($this->dom === null)
-               {
-                       throw new SimplePie_Exception('DOMDocument not found, unable to use locator');
-               }
-
-               $links = $this->dom->getElementsByTagName($name);
-               foreach ($links as $link)
-               {
-                       if ($this->checked_feeds === $this->max_checked_feeds)
-                       {
-                               break;
-                       }
-                       if ($link->hasAttribute('href') && $link->hasAttribute('rel'))
-                       {
-                               $rel = array_unique($this->registry->call('Misc', 'space_seperated_tokens', array(strtolower($link->getAttribute('rel')))));
-                               $line = method_exists($link, 'getLineNo') ? $link->getLineNo() : 1;
-
-                               if ($this->base_location < $line)
-                               {
-                                       $href = $this->registry->call('Misc', 'absolutize_url', array(trim($link->getAttribute('href')), $this->base));
-                               }
-                               else
-                               {
-                                       $href = $this->registry->call('Misc', 'absolutize_url', array(trim($link->getAttribute('href')), $this->http_base));
-                               }
-                               if ($href === false)
-                               {
-                                       continue;
-                               }
-
-                               if (!in_array($href, $done) && in_array('feed', $rel) || (in_array('alternate', $rel) && !in_array('stylesheet', $rel) && $link->hasAttribute('type') && in_array(strtolower($this->registry->call('Misc', 'parse_mime', array($link->getAttribute('type')))), array('application/rss+xml', 'application/atom+xml'))) && !isset($feeds[$href]))
-                               {
-                                       $this->checked_feeds++;
-                                       $headers = array(
-                                               'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
-                                       );
-                                       $feed = $this->registry->create('File', array($href, $this->timeout, 5, $headers, $this->useragent));
-                                       if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed))
-                                       {
-                                               $feeds[$href] = $feed;
-                                       }
-                               }
-                               $done[] = $href;
-                       }
-               }
-
-               return $feeds;
-       }
-
-       public function get_links()
-       {
-               if ($this->dom === null)
-               {
-                       throw new SimplePie_Exception('DOMDocument not found, unable to use locator');
-               }
-
-               $links = $this->dom->getElementsByTagName('a');
-               foreach ($links as $link)
-               {
-                       if ($link->hasAttribute('href'))
-                       {
-                               $href = trim($link->getAttribute('href'));
-                               $parsed = $this->registry->call('Misc', 'parse_url', array($href));
-                               if ($parsed['scheme'] === '' || preg_match('/^(http(s)|feed)?$/i', $parsed['scheme']))
-                               {
-                                       if ($this->base_location < $link->getLineNo())
-                                       {
-                                               $href = $this->registry->call('Misc', 'absolutize_url', array(trim($link->getAttribute('href')), $this->base));
-                                       }
-                                       else
-                                       {
-                                               $href = $this->registry->call('Misc', 'absolutize_url', array(trim($link->getAttribute('href')), $this->http_base));
-                                       }
-                                       if ($href === false)
-                                       {
-                                               continue;
-                                       }
-
-                                       $current = $this->registry->call('Misc', 'parse_url', array($this->file->url));
-
-                                       if ($parsed['authority'] === '' || $parsed['authority'] === $current['authority'])
-                                       {
-                                               $this->local[] = $href;
-                                       }
-                                       else
-                                       {
-                                               $this->elsewhere[] = $href;
-                                       }
-                               }
-                       }
-               }
-               $this->local = array_unique($this->local);
-               $this->elsewhere = array_unique($this->elsewhere);
-               if (!empty($this->local) || !empty($this->elsewhere))
-               {
-                       return true;
-               }
-               return null;
-       }
-
-       public function extension(&$array)
-       {
-               foreach ($array as $key => $value)
-               {
-                       if ($this->checked_feeds === $this->max_checked_feeds)
-                       {
-                               break;
-                       }
-                       if (in_array(strtolower(strrchr($value, '.')), array('.rss', '.rdf', '.atom', '.xml')))
-                       {
-                               $this->checked_feeds++;
-
-                               $headers = array(
-                                       'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
-                               );
-                               $feed = $this->registry->create('File', array($value, $this->timeout, 5, $headers, $this->useragent));
-                               if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed))
-                               {
-                                       return $feed;
-                               }
-                               else
-                               {
-                                       unset($array[$key]);
-                               }
-                       }
-               }
-               return null;
-       }
-
-       public function body(&$array)
-       {
-               foreach ($array as $key => $value)
-               {
-                       if ($this->checked_feeds === $this->max_checked_feeds)
-                       {
-                               break;
-                       }
-                       if (preg_match('/(rss|rdf|atom|xml)/i', $value))
-                       {
-                               $this->checked_feeds++;
-                               $headers = array(
-                                       'Accept' => 'application/atom+xml, application/rss+xml, application/rdf+xml;q=0.9, application/xml;q=0.8, text/xml;q=0.8, text/html;q=0.7, unknown/unknown;q=0.1, application/unknown;q=0.1, */*;q=0.1',
-                               );
-                               $feed = $this->registry->create('File', array($value, $this->timeout, 5, null, $this->useragent));
-                               if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed))
-                               {
-                                       return $feed;
-                               }
-                               else
-                               {
-                                       unset($array[$key]);
-                               }
-                       }
-               }
-               return null;
-       }
-}
-
-/**
- * Miscellanous utilities
- *
- * @package SimplePie
- */
-class SimplePie_Misc
-{
-       public static function time_hms($seconds)
-       {
-               $time = '';
-
-               $hours = floor($seconds / 3600);
-               $remainder = $seconds % 3600;
-               if ($hours > 0)
-               {
-                       $time .= $hours.':';
-               }
-
-               $minutes = floor($remainder / 60);
-               $seconds = $remainder % 60;
-               if ($minutes < 10 && $hours > 0)
-               {
-                       $minutes = '0' . $minutes;
-               }
-               if ($seconds < 10)
-               {
-                       $seconds = '0' . $seconds;
-               }
-
-               $time .= $minutes.':';
-               $time .= $seconds;
-
-               return $time;
-       }
-
-       public static function absolutize_url($relative, $base)
-       {
-               $iri = SimplePie_IRI::absolutize(new SimplePie_IRI($base), $relative);
-               if ($iri === false)
-               {
-                       return false;
-               }
-               return $iri->get_uri();
-       }
-
-       /**
-        * Get a HTML/XML element from a HTML string
-        *
-        * @deprecated Use DOMDocument instead (parsing HTML with regex is bad!)
-        * @param string $realname Element name (including namespace prefix if applicable)
-        * @param string $string HTML document
-        * @return array
-        */
-       public static function get_element($realname, $string)
-       {
-               $return = array();
-               $name = preg_quote($realname, '/');
-               if (preg_match_all("/<($name)" . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . "(>(.*)<\/$name>|(\/)?>)/siU", $string, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE))
-               {
-                       for ($i = 0, $total_matches = count($matches); $i < $total_matches; $i++)
-                       {
-                               $return[$i]['tag'] = $realname;
-                               $return[$i]['full'] = $matches[$i][0][0];
-                               $return[$i]['offset'] = $matches[$i][0][1];
-                               if (strlen($matches[$i][3][0]) <= 2)
-                               {
-                                       $return[$i]['self_closing'] = true;
-                               }
-                               else
-                               {
-                                       $return[$i]['self_closing'] = false;
-                                       $return[$i]['content'] = $matches[$i][4][0];
-                               }
-                               $return[$i]['attribs'] = array();
-                               if (isset($matches[$i][2][0]) && preg_match_all('/[\x09\x0A\x0B\x0C\x0D\x20]+([^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3D\x3E]*)(?:[\x09\x0A\x0B\x0C\x0D\x20]*=[\x09\x0A\x0B\x0C\x0D\x20]*(?:"([^"]*)"|\'([^\']*)\'|([^\x09\x0A\x0B\x0C\x0D\x20\x22\x27\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x3E]*)?))?/', ' ' . $matches[$i][2][0] . ' ', $attribs, PREG_SET_ORDER))
-                               {
-                                       for ($j = 0, $total_attribs = count($attribs); $j < $total_attribs; $j++)
-                                       {
-                                               if (count($attribs[$j]) === 2)
-                                               {
-                                                       $attribs[$j][2] = $attribs[$j][1];
-                                               }
-                                               $return[$i]['attribs'][strtolower($attribs[$j][1])]['data'] = SimplePie_Misc::entities_decode(end($attribs[$j]), 'UTF-8');
-                                       }
-                               }
-                       }
-               }
-               return $return;
-       }
-
-       public static function element_implode($element)
-       {
-               $full = "<$element[tag]";
-               foreach ($element['attribs'] as $key => $value)
-               {
-                       $key = strtolower($key);
-                       $full .= " $key=\"" . htmlspecialchars($value['data']) . '"';
-               }
-               if ($element['self_closing'])
-               {
-                       $full .= ' />';
-               }
-               else
-               {
-                       $full .= ">$element[content]</$element[tag]>";
-               }
-               return $full;
-       }
-
-       public static function error($message, $level, $file, $line)
-       {
-               if ((ini_get('error_reporting') & $level) > 0)
-               {
-                       switch ($level)
-                       {
-                               case E_USER_ERROR:
-                                       $note = 'PHP Error';
-                                       break;
-                               case E_USER_WARNING:
-                                       $note = 'PHP Warning';
-                                       break;
-                               case E_USER_NOTICE:
-                                       $note = 'PHP Notice';
-                                       break;
-                               default:
-                                       $note = 'Unknown Error';
-                                       break;
-                       }
-
-                       $log_error = true;
-                       if (!function_exists('error_log'))
-                       {
-                               $log_error = false;
-                       }
-
-                       $log_file = @ini_get('error_log');
-                       if (!empty($log_file) && ('syslog' !== $log_file) && !@is_writable($log_file))
-                       {
-                               $log_error = false;
-                       }
-
-                       if ($log_error)
-                       {
-                               @error_log("$note: $message in $file on line $line", 0);
-                       }
-               }
-
-               return $message;
-       }
-
-       public static function fix_protocol($url, $http = 1)
-       {
-               $url = SimplePie_Misc::normalize_url($url);
-               $parsed = SimplePie_Misc::parse_url($url);
-               if ($parsed['scheme'] !== '' && $parsed['scheme'] !== 'http' && $parsed['scheme'] !== 'https')
-               {
-                       return SimplePie_Misc::fix_protocol(SimplePie_Misc::compress_parse_url('http', $parsed['authority'], $parsed['path'], $parsed['query'], $parsed['fragment']), $http);
-               }
-
-               if ($parsed['scheme'] === '' && $parsed['authority'] === '' && !file_exists($url))
-               {
-                       return SimplePie_Misc::fix_protocol(SimplePie_Misc::compress_parse_url('http', $parsed['path'], '', $parsed['query'], $parsed['fragment']), $http);
-               }
-
-               if ($http === 2 && $parsed['scheme'] !== '')
-               {
-                       return "feed:$url";
-               }
-               elseif ($http === 3 && strtolower($parsed['scheme']) === 'http')
-               {
-                       return substr_replace($url, 'podcast', 0, 4);
-               }
-               elseif ($http === 4 && strtolower($parsed['scheme']) === 'http')
-               {
-                       return substr_replace($url, 'itpc', 0, 4);
-               }
-               else
-               {
-                       return $url;
-               }
-       }
-
-       public static function parse_url($url)
-       {
-               $iri = new SimplePie_IRI($url);
-               return array(
-                       'scheme' => (string) $iri->scheme,
-                       'authority' => (string) $iri->authority,
-                       'path' => (string) $iri->path,
-                       'query' => (string) $iri->query,
-                       'fragment' => (string) $iri->fragment
-               );
-       }
-
-       public static function compress_parse_url($scheme = '', $authority = '', $path = '', $query = '', $fragment = '')
-       {
-               $iri = new SimplePie_IRI('');
-               $iri->scheme = $scheme;
-               $iri->authority = $authority;
-               $iri->path = $path;
-               $iri->query = $query;
-               $iri->fragment = $fragment;
-               return $iri->get_uri();
-       }
-
-       public static function normalize_url($url)
-       {
-               $iri = new SimplePie_IRI($url);
-               return $iri->get_uri();
-       }
-
-       public static function percent_encoding_normalization($match)
-       {
-               $integer = hexdec($match[1]);
-               if ($integer >= 0x41 && $integer <= 0x5A || $integer >= 0x61 && $integer <= 0x7A || $integer >= 0x30 && $integer <= 0x39 || $integer === 0x2D || $integer === 0x2E || $integer === 0x5F || $integer === 0x7E)
-               {
-                       return chr($integer);
-               }
-               else
-               {
-                       return strtoupper($match[0]);
-               }
-       }
-
-       /**
-        * Converts a Windows-1252 encoded string to a UTF-8 encoded string
-        *
-        * @static
-        * @param string $string Windows-1252 encoded string
-        * @return string UTF-8 encoded string
-        */
-       public static function windows_1252_to_utf8($string)
-       {
-               static $convert_table = array("\x80" => "\xE2\x82\xAC", "\x81" => "\xEF\xBF\xBD", "\x82" => "\xE2\x80\x9A", "\x83" => "\xC6\x92", "\x84" => "\xE2\x80\x9E", "\x85" => "\xE2\x80\xA6", "\x86" => "\xE2\x80\xA0", "\x87" => "\xE2\x80\xA1", "\x88" => "\xCB\x86", "\x89" => "\xE2\x80\xB0", "\x8A" => "\xC5\xA0", "\x8B" => "\xE2\x80\xB9", "\x8C" => "\xC5\x92", "\x8D" => "\xEF\xBF\xBD", "\x8E" => "\xC5\xBD", "\x8F" => "\xEF\xBF\xBD", "\x90" => "\xEF\xBF\xBD", "\x91" => "\xE2\x80\x98", "\x92" => "\xE2\x80\x99", "\x93" => "\xE2\x80\x9C", "\x94" => "\xE2\x80\x9D", "\x95" => "\xE2\x80\xA2", "\x96" => "\xE2\x80\x93", "\x97" => "\xE2\x80\x94", "\x98" => "\xCB\x9C", "\x99" => "\xE2\x84\xA2", "\x9A" => "\xC5\xA1", "\x9B" => "\xE2\x80\xBA", "\x9C" => "\xC5\x93", "\x9D" => "\xEF\xBF\xBD", "\x9E" => "\xC5\xBE", "\x9F" => "\xC5\xB8", "\xA0" => "\xC2\xA0", "\xA1" => "\xC2\xA1", "\xA2" => "\xC2\xA2", "\xA3" => "\xC2\xA3", "\xA4" => "\xC2\xA4", "\xA5" => "\xC2\xA5", "\xA6" => "\xC2\xA6", "\xA7" => "\xC2\xA7", "\xA8" => "\xC2\xA8", "\xA9" => "\xC2\xA9", "\xAA" => "\xC2\xAA", "\xAB" => "\xC2\xAB", "\xAC" => "\xC2\xAC", "\xAD" => "\xC2\xAD", "\xAE" => "\xC2\xAE", "\xAF" => "\xC2\xAF", "\xB0" => "\xC2\xB0", "\xB1" => "\xC2\xB1", "\xB2" => "\xC2\xB2", "\xB3" => "\xC2\xB3", "\xB4" => "\xC2\xB4", "\xB5" => "\xC2\xB5", "\xB6" => "\xC2\xB6", "\xB7" => "\xC2\xB7", "\xB8" => "\xC2\xB8", "\xB9" => "\xC2\xB9", "\xBA" => "\xC2\xBA", "\xBB" => "\xC2\xBB", "\xBC" => "\xC2\xBC", "\xBD" => "\xC2\xBD", "\xBE" => "\xC2\xBE", "\xBF" => "\xC2\xBF", "\xC0" => "\xC3\x80", "\xC1" => "\xC3\x81", "\xC2" => "\xC3\x82", "\xC3" => "\xC3\x83", "\xC4" => "\xC3\x84", "\xC5" => "\xC3\x85", "\xC6" => "\xC3\x86", "\xC7" => "\xC3\x87", "\xC8" => "\xC3\x88", "\xC9" => "\xC3\x89", "\xCA" => "\xC3\x8A", "\xCB" => "\xC3\x8B", "\xCC" => "\xC3\x8C", "\xCD" => "\xC3\x8D", "\xCE" => "\xC3\x8E", "\xCF" => "\xC3\x8F", "\xD0" => "\xC3\x90", "\xD1" => "\xC3\x91", "\xD2" => "\xC3\x92", "\xD3" => "\xC3\x93", "\xD4" => "\xC3\x94", "\xD5" => "\xC3\x95", "\xD6" => "\xC3\x96", "\xD7" => "\xC3\x97", "\xD8" => "\xC3\x98", "\xD9" => "\xC3\x99", "\xDA" => "\xC3\x9A", "\xDB" => "\xC3\x9B", "\xDC" => "\xC3\x9C", "\xDD" => "\xC3\x9D", "\xDE" => "\xC3\x9E", "\xDF" => "\xC3\x9F", "\xE0" => "\xC3\xA0", "\xE1" => "\xC3\xA1", "\xE2" => "\xC3\xA2", "\xE3" => "\xC3\xA3", "\xE4" => "\xC3\xA4", "\xE5" => "\xC3\xA5", "\xE6" => "\xC3\xA6", "\xE7" => "\xC3\xA7", "\xE8" => "\xC3\xA8", "\xE9" => "\xC3\xA9", "\xEA" => "\xC3\xAA", "\xEB" => "\xC3\xAB", "\xEC" => "\xC3\xAC", "\xED" => "\xC3\xAD", "\xEE" => "\xC3\xAE", "\xEF" => "\xC3\xAF", "\xF0" => "\xC3\xB0", "\xF1" => "\xC3\xB1", "\xF2" => "\xC3\xB2", "\xF3" => "\xC3\xB3", "\xF4" => "\xC3\xB4", "\xF5" => "\xC3\xB5", "\xF6" => "\xC3\xB6", "\xF7" => "\xC3\xB7", "\xF8" => "\xC3\xB8", "\xF9" => "\xC3\xB9", "\xFA" => "\xC3\xBA", "\xFB" => "\xC3\xBB", "\xFC" => "\xC3\xBC", "\xFD" => "\xC3\xBD", "\xFE" => "\xC3\xBE", "\xFF" => "\xC3\xBF");
-
-               return strtr($string, $convert_table);
-       }
-
-       /**
-        * Change a string from one encoding to another
-        *
-        * @param string $data Raw data in $input encoding
-        * @param string $input Encoding of $data
-        * @param string $output Encoding you want
-        * @return string|boolean False if we can't convert it
-        */
-       public static function change_encoding($data, $input, $output)
-       {
-               $input = SimplePie_Misc::encoding($input);
-               $output = SimplePie_Misc::encoding($output);
-
-               // We fail to fail on non US-ASCII bytes
-               if ($input === 'US-ASCII')
-               {
-                       static $non_ascii_octects = '';
-                       if (!$non_ascii_octects)
-                       {
-                               for ($i = 0x80; $i <= 0xFF; $i++)
-                               {
-                                       $non_ascii_octects .= chr($i);
-                               }
-                       }
-                       $data = substr($data, 0, strcspn($data, $non_ascii_octects));
-               }
-
-               // This is first, as behaviour of this is completely predictable
-               if ($input === 'windows-1252' && $output === 'UTF-8')
-               {
-                       return SimplePie_Misc::windows_1252_to_utf8($data);
-               }
-               // This is second, as behaviour of this varies only with PHP version (the middle part of this expression checks the encoding is supported).
-               elseif (function_exists('mb_convert_encoding') && ($return = SimplePie_Misc::change_encoding_mbstring($data, $input, $output)))
-               {
-                       return $return;
-               }
-               // This is last, as behaviour of this varies with OS userland and PHP version
-               elseif (function_exists('iconv') && ($return = SimplePie_Misc::change_encoding_iconv($data, $input, $output)))
-               {
-                       return $return;
-               }
-               // If we can't do anything, just fail
-               else
-               {
-                       return false;
-               }
-       }
-
-       protected static function change_encoding_mbstring($data, $input, $output)
-       {
-               if ($input === 'windows-949')
-               {
-                       $input = 'EUC-KR';
-               }
-               if ($output === 'windows-949')
-               {
-                       $output = 'EUC-KR';
-               }
-               if ($input === 'Windows-31J')
-               {
-                       $input = 'SJIS';
-               }
-               if ($output === 'Windows-31J')
-               {
-                       $output = 'SJIS';
-               }
-
-               // Check that the encoding is supported
-               if (@mb_convert_encoding("\x80", 'UTF-16BE', $input) === "\x00\x80")
-               {
-                       return false;
-               }
-               if (!in_array($input, mb_list_encodings()))
-               {
-                       return false;
-               }
-
-               // Let's do some conversion
-               if ($return = @mb_convert_encoding($data, $output, $input))
-               {
-                       return $return;
-               }
-
-               return false;
-       }
-
-       protected static function change_encoding_iconv($data, $input, $output)
-       {
-               return @iconv($input, $output, $data);
-       }
-
-       /**
-        * Normalize an encoding name
-        *
-        * This is automatically generated by create.php
-        *
-        * To generate it, run `php create.php` on the command line, and copy the
-        * output to replace this function.
-        *
-        * @param string $charset Character set to standardise
-        * @return string Standardised name
-        */
-       public static function encoding($charset)
-       {
-               // Normalization from UTS #22
-               switch (strtolower(preg_replace('/(?:[^a-zA-Z0-9]+|([^0-9])0+)/', '\1', $charset)))
-               {
-                       case 'adobestandardencoding':
-                       case 'csadobestandardencoding':
-                               return 'Adobe-Standard-Encoding';
-
-                       case 'adobesymbolencoding':
-                       case 'cshppsmath':
-                               return 'Adobe-Symbol-Encoding';
-
-                       case 'ami1251':
-                       case 'amiga1251':
-                               return 'Amiga-1251';
-
-                       case 'ansix31101983':
-                       case 'csat5001983':
-                       case 'csiso99naplps':
-                       case 'isoir99':
-                       case 'naplps':
-                               return 'ANSI_X3.110-1983';
-
-                       case 'arabic7':
-                       case 'asmo449':
-                       case 'csiso89asmo449':
-                       case 'iso9036':
-                       case 'isoir89':
-                               return 'ASMO_449';
-
-                       case 'big5':
-                       case 'csbig5':
-                               return 'Big5';
-
-                       case 'big5hkscs':
-                               return 'Big5-HKSCS';
-
-                       case 'bocu1':
-                       case 'csbocu1':
-                               return 'BOCU-1';
-
-                       case 'brf':
-                       case 'csbrf':
-                               return 'BRF';
-
-                       case 'bs4730':
-                       case 'csiso4unitedkingdom':
-                       case 'gb':
-                       case 'iso646gb':
-                       case 'isoir4':
-                       case 'uk':
-                               return 'BS_4730';
-
-                       case 'bsviewdata':
-                       case 'csiso47bsviewdata':
-                       case 'isoir47':
-                               return 'BS_viewdata';
-
-                       case 'cesu8':
-                       case 'cscesu8':
-                               return 'CESU-8';
-
-                       case 'ca':
-                       case 'csa71':
-                       case 'csaz243419851':
-                       case 'csiso121canadian1':
-                       case 'iso646ca':
-                       case 'isoir121':
-                               return 'CSA_Z243.4-1985-1';
-
-                       case 'csa72':
-                       case 'csaz243419852':
-                       case 'csiso122canadian2':
-                       case 'iso646ca2':
-                       case 'isoir122':
-                               return 'CSA_Z243.4-1985-2';
-
-                       case 'csaz24341985gr':
-                       case 'csiso123csaz24341985gr':
-                       case 'isoir123':
-                               return 'CSA_Z243.4-1985-gr';
-
-                       case 'csiso139csn369103':
-                       case 'csn369103':
-                       case 'isoir139':
-                               return 'CSN_369103';
-
-                       case 'csdecmcs':
-                       case 'dec':
-                       case 'decmcs':
-                               return 'DEC-MCS';
-
-                       case 'csiso21german':
-                       case 'de':
-                       case 'din66003':
-                       case 'iso646de':
-                       case 'isoir21':
-                               return 'DIN_66003';
-
-                       case 'csdkus':
-                       case 'dkus':
-                               return 'dk-us';
-
-                       case 'csiso646danish':
-                       case 'dk':
-                       case 'ds2089':
-                       case 'iso646dk':
-                               return 'DS_2089';
-
-                       case 'csibmebcdicatde':
-                       case 'ebcdicatde':
-                               return 'EBCDIC-AT-DE';
-
-                       case 'csebcdicatdea':
-                       case 'ebcdicatdea':
-                               return 'EBCDIC-AT-DE-A';
-
-                       case 'csebcdiccafr':
-                       case 'ebcdiccafr':
-                               return 'EBCDIC-CA-FR';
-
-                       case 'csebcdicdkno':
-                       case 'ebcdicdkno':
-                               return 'EBCDIC-DK-NO';
-
-                       case 'csebcdicdknoa':
-                       case 'ebcdicdknoa':
-                               return 'EBCDIC-DK-NO-A';
-
-                       case 'csebcdices':
-                       case 'ebcdices':
-                               return 'EBCDIC-ES';
-
-                       case 'csebcdicesa':
-                       case 'ebcdicesa':
-                               return 'EBCDIC-ES-A';
-
-                       case 'csebcdicess':
-                       case 'ebcdicess':
-                               return 'EBCDIC-ES-S';
-
-                       case 'csebcdicfise':
-                       case 'ebcdicfise':
-                               return 'EBCDIC-FI-SE';
-
-                       case 'csebcdicfisea':
-                       case 'ebcdicfisea':
-                               return 'EBCDIC-FI-SE-A';
-
-                       case 'csebcdicfr':
-                       case 'ebcdicfr':
-                               return 'EBCDIC-FR';
-
-                       case 'csebcdicit':
-                       case 'ebcdicit':
-                               return 'EBCDIC-IT';
-
-                       case 'csebcdicpt':
-                       case 'ebcdicpt':
-                               return 'EBCDIC-PT';
-
-                       case 'csebcdicuk':
-                       case 'ebcdicuk':
-                               return 'EBCDIC-UK';
-
-                       case 'csebcdicus':
-                       case 'ebcdicus':
-                               return 'EBCDIC-US';
-
-                       case 'csiso111ecmacyrillic':
-                       case 'ecmacyrillic':
-                       case 'isoir111':
-                       case 'koi8e':
-                               return 'ECMA-cyrillic';
-
-                       case 'csiso17spanish':
-                       case 'es':
-                       case 'iso646es':
-                       case 'isoir17':
-                               return 'ES';
-
-                       case 'csiso85spanish2':
-                       case 'es2':
-                       case 'iso646es2':
-                       case 'isoir85':
-                               return 'ES2';
-
-                       case 'cseucpkdfmtjapanese':
-                       case 'eucjp':
-                       case 'extendedunixcodepackedformatforjapanese':
-                               return 'EUC-JP';
-
-                       case 'cseucfixwidjapanese':
-                       case 'extendedunixcodefixedwidthforjapanese':
-                               return 'Extended_UNIX_Code_Fixed_Width_for_Japanese';
-
-                       case 'gb18030':
-                               return 'GB18030';
-
-                       case 'chinese':
-                       case 'cp936':
-                       case 'csgb2312':
-                       case 'csiso58gb231280':
-                       case 'gb2312':
-                       case 'gb231280':
-                       case 'gbk':
-                       case 'isoir58':
-                       case 'ms936':
-                       case 'windows936':
-                               return 'GBK';
-
-                       case 'cn':
-                       case 'csiso57gb1988':
-                       case 'gb198880':
-                       case 'iso646cn':
-                       case 'isoir57':
-                               return 'GB_1988-80';
-
-                       case 'csiso153gost1976874':
-                       case 'gost1976874':
-                       case 'isoir153':
-                       case 'stsev35888':
-                               return 'GOST_19768-74';
-
-                       case 'csiso150':
-                       case 'csiso150greekccitt':
-                       case 'greekccitt':
-                       case 'isoir150':
-                               return 'greek-ccitt';
-
-                       case 'csiso88greek7':
-                       case 'greek7':
-                       case 'isoir88':
-                               return 'greek7';
-
-                       case 'csiso18greek7old':
-                       case 'greek7old':
-                       case 'isoir18':
-                               return 'greek7-old';
-
-                       case 'cshpdesktop':
-                       case 'hpdesktop':
-                               return 'HP-DeskTop';
-
-                       case 'cshplegal':
-                       case 'hplegal':
-                               return 'HP-Legal';
-
-                       case 'cshpmath8':
-                       case 'hpmath8':
-                               return 'HP-Math8';
-
-                       case 'cshppifont':
-                       case 'hppifont':
-                               return 'HP-Pi-font';
-
-                       case 'cshproman8':
-                       case 'hproman8':
-                       case 'r8':
-                       case 'roman8':
-                               return 'hp-roman8';
-
-                       case 'hzgb2312':
-                               return 'HZ-GB-2312';
-
-                       case 'csibmsymbols':
-                       case 'ibmsymbols':
-                               return 'IBM-Symbols';
-
-                       case 'csibmthai':
-                       case 'ibmthai':
-                               return 'IBM-Thai';
-
-                       case 'cp37':
-                       case 'csibm37':
-                       case 'ebcdiccpca':
-                       case 'ebcdiccpnl':
-                       case 'ebcdiccpus':
-                       case 'ebcdiccpwt':
-                       case 'ibm37':
-                               return 'IBM037';
-
-                       case 'cp38':
-                       case 'csibm38':
-                       case 'ebcdicint':
-                       case 'ibm38':
-                               return 'IBM038';
-
-                       case 'cp273':
-                       case 'csibm273':
-                       case 'ibm273':
-                               return 'IBM273';
-
-                       case 'cp274':
-                       case 'csibm274':
-                       case 'ebcdicbe':
-                       case 'ibm274':
-                               return 'IBM274';
-
-                       case 'cp275':
-                       case 'csibm275':
-                       case 'ebcdicbr':
-                       case 'ibm275':
-                               return 'IBM275';
-
-                       case 'csibm277':
-                       case 'ebcdiccpdk':
-                       case 'ebcdiccpno':
-                       case 'ibm277':
-                               return 'IBM277';
-
-                       case 'cp278':
-                       case 'csibm278':
-                       case 'ebcdiccpfi':
-                       case 'ebcdiccpse':
-                       case 'ibm278':
-                               return 'IBM278';
-
-                       case 'cp280':
-                       case 'csibm280':
-                       case 'ebcdiccpit':
-                       case 'ibm280':
-                               return 'IBM280';
-
-                       case 'cp281':
-                       case 'csibm281':
-                       case 'ebcdicjpe':
-                       case 'ibm281':
-                               return 'IBM281';
-
-                       case 'cp284':
-                       case 'csibm284':
-                       case 'ebcdiccpes':
-                       case 'ibm284':
-                               return 'IBM284';
-
-                       case 'cp285':
-                       case 'csibm285':
-                       case 'ebcdiccpgb':
-                       case 'ibm285':
-                               return 'IBM285';
-
-                       case 'cp290':
-                       case 'csibm290':
-                       case 'ebcdicjpkana':
-                       case 'ibm290':
-                               return 'IBM290';
-
-                       case 'cp297':
-                       case 'csibm297':
-                       case 'ebcdiccpfr':
-                       case 'ibm297':
-                               return 'IBM297';
-
-                       case 'cp420':
-                       case 'csibm420':
-                       case 'ebcdiccpar1':
-                       case 'ibm420':
-                               return 'IBM420';
-
-                       case 'cp423':
-                       case 'csibm423':
-                       case 'ebcdiccpgr':
-                       case 'ibm423':
-                               return 'IBM423';
-
-                       case 'cp424':
-                       case 'csibm424':
-                       case 'ebcdiccphe':
-                       case 'ibm424':
-                               return 'IBM424';
-
-                       case '437':
-                       case 'cp437':
-                       case 'cspc8codepage437':
-                       case 'ibm437':
-                               return 'IBM437';
-
-                       case 'cp500':
-                       case 'csibm500':
-                       case 'ebcdiccpbe':
-                       case 'ebcdiccpch':
-                       case 'ibm500':
-                               return 'IBM500';
-
-                       case 'cp775':
-                       case 'cspc775baltic':
-                       case 'ibm775':
-                               return 'IBM775';
-
-                       case '850':
-                       case 'cp850':
-                       case 'cspc850multilingual':
-                       case 'ibm850':
-                               return 'IBM850';
-
-                       case '851':
-                       case 'cp851':
-                       case 'csibm851':
-                       case 'ibm851':
-                               return 'IBM851';
-
-                       case '852':
-                       case 'cp852':
-                       case 'cspcp852':
-                       case 'ibm852':
-                               return 'IBM852';
-
-                       case '855':
-                       case 'cp855':
-                       case 'csibm855':
-                       case 'ibm855':
-                               return 'IBM855';
-
-                       case '857':
-                       case 'cp857':
-                       case 'csibm857':
-                       case 'ibm857':
-                               return 'IBM857';
-
-                       case 'ccsid858':
-                       case 'cp858':
-                       case 'ibm858':
-                       case 'pcmultilingual850euro':
-                               return 'IBM00858';
-
-                       case '860':
-                       case 'cp860':
-                       case 'csibm860':
-                       case 'ibm860':
-                               return 'IBM860';
-
-                       case '861':
-                       case 'cp861':
-                       case 'cpis':
-                       case 'csibm861':
-                       case 'ibm861':
-                               return 'IBM861';
-
-                       case '862':
-                       case 'cp862':
-                       case 'cspc862latinhebrew':
-                       case 'ibm862':
-                               return 'IBM862';
-
-                       case '863':
-                       case 'cp863':
-                       case 'csibm863':
-                       case 'ibm863':
-                               return 'IBM863';
-
-                       case 'cp864':
-                       case 'csibm864':
-                       case 'ibm864':
-                               return 'IBM864';
-
-                       case '865':
-                       case 'cp865':
-                       case 'csibm865':
-                       case 'ibm865':
-                               return 'IBM865';
-
-                       case '866':
-                       case 'cp866':
-                       case 'csibm866':
-                       case 'ibm866':
-                               return 'IBM866';
-
-                       case 'cp868':
-                       case 'cpar':
-                       case 'csibm868':
-                       case 'ibm868':
-                               return 'IBM868';
-
-                       case '869':
-                       case 'cp869':
-                       case 'cpgr':
-                       case 'csibm869':
-                       case 'ibm869':
-                               return 'IBM869';
-
-                       case 'cp870':
-                       case 'csibm870':
-                       case 'ebcdiccproece':
-                       case 'ebcdiccpyu':
-                       case 'ibm870':
-                               return 'IBM870';
-
-                       case 'cp871':
-                       case 'csibm871':
-                       case 'ebcdiccpis':
-                       case 'ibm871':
-                               return 'IBM871';
-
-                       case 'cp880':
-                       case 'csibm880':
-                       case 'ebcdiccyrillic':
-                       case 'ibm880':
-                               return 'IBM880';
-
-                       case 'cp891':
-                       case 'csibm891':
-                       case 'ibm891':
-                               return 'IBM891';
-
-                       case 'cp903':
-                       case 'csibm903':
-                       case 'ibm903':
-                               return 'IBM903';
-
-                       case '904':
-                       case 'cp904':
-                       case 'csibbm904':
-                       case 'ibm904':
-                               return 'IBM904';
-
-                       case 'cp905':
-                       case 'csibm905':
-                       case 'ebcdiccptr':
-                       case 'ibm905':
-                               return 'IBM905';
-
-                       case 'cp918':
-                       case 'csibm918':
-                       case 'ebcdiccpar2':
-                       case 'ibm918':
-                               return 'IBM918';
-
-                       case 'ccsid924':
-                       case 'cp924':
-                       case 'ebcdiclatin9euro':
-                       case 'ibm924':
-                               return 'IBM00924';
-
-                       case 'cp1026':
-                       case 'csibm1026':
-                       case 'ibm1026':
-                               return 'IBM1026';
-
-                       case 'ibm1047':
-                               return 'IBM1047';
-
-                       case 'ccsid1140':
-                       case 'cp1140':
-                       case 'ebcdicus37euro':
-                       case 'ibm1140':
-                               return 'IBM01140';
-
-                       case 'ccsid1141':
-                       case 'cp1141':
-                       case 'ebcdicde273euro':
-                       case 'ibm1141':
-                               return 'IBM01141';
-
-                       case 'ccsid1142':
-                       case 'cp1142':
-                       case 'ebcdicdk277euro':
-                       case 'ebcdicno277euro':
-                       case 'ibm1142':
-                               return 'IBM01142';
-
-                       case 'ccsid1143':
-                       case 'cp1143':
-                       case 'ebcdicfi278euro':
-                       case 'ebcdicse278euro':
-                       case 'ibm1143':
-                               return 'IBM01143';
-
-                       case 'ccsid1144':
-                       case 'cp1144':
-                       case 'ebcdicit280euro':
-                       case 'ibm1144':
-                               return 'IBM01144';
-
-                       case 'ccsid1145':
-                       case 'cp1145':
-                       case 'ebcdices284euro':
-                       case 'ibm1145':
-                               return 'IBM01145';
-
-                       case 'ccsid1146':
-                       case 'cp1146':
-                       case 'ebcdicgb285euro':
-                       case 'ibm1146':
-                               return 'IBM01146';
-
-                       case 'ccsid1147':
-                       case 'cp1147':
-                       case 'ebcdicfr297euro':
-                       case 'ibm1147':
-                               return 'IBM01147';
-
-                       case 'ccsid1148':
-                       case 'cp1148':
-                       case 'ebcdicinternational500euro':
-                       case 'ibm1148':
-                               return 'IBM01148';
-
-                       case 'ccsid1149':
-                       case 'cp1149':
-                       case 'ebcdicis871euro':
-                       case 'ibm1149':
-                               return 'IBM01149';
-
-                       case 'csiso143iecp271':
-                       case 'iecp271':
-                       case 'isoir143':
-                               return 'IEC_P27-1';
-
-                       case 'csiso49inis':
-                       case 'inis':
-                       case 'isoir49':
-                               return 'INIS';
-
-                       case 'csiso50inis8':
-                       case 'inis8':
-                       case 'isoir50':
-                               return 'INIS-8';
-
-                       case 'csiso51iniscyrillic':
-                       case 'iniscyrillic':
-                       case 'isoir51':
-                               return 'INIS-cyrillic';
-
-                       case 'csinvariant':
-                       case 'invariant':
-                               return 'INVARIANT';
-
-                       case 'iso2022cn':
-                               return 'ISO-2022-CN';
-
-                       case 'iso2022cnext':
-                               return 'ISO-2022-CN-EXT';
-
-                       case 'csiso2022jp':
-                       case 'iso2022jp':
-                               return 'ISO-2022-JP';
-
-                       case 'csiso2022jp2':
-                       case 'iso2022jp2':
-                               return 'ISO-2022-JP-2';
-
-                       case 'csiso2022kr':
-                       case 'iso2022kr':
-                               return 'ISO-2022-KR';
-
-                       case 'cswindows30latin1':
-                       case 'iso88591windows30latin1':
-                               return 'ISO-8859-1-Windows-3.0-Latin-1';
-
-                       case 'cswindows31latin1':
-                       case 'iso88591windows31latin1':
-                               return 'ISO-8859-1-Windows-3.1-Latin-1';
-
-                       case 'csisolatin2':
-                       case 'iso88592':
-                       case 'iso885921987':
-                       case 'isoir101':
-                       case 'l2':
-                       case 'latin2':
-                               return 'ISO-8859-2';
-
-                       case 'cswindows31latin2':
-                       case 'iso88592windowslatin2':
-                               return 'ISO-8859-2-Windows-Latin-2';
-
-                       case 'csisolatin3':
-                       case 'iso88593':
-                       case 'iso885931988':
-                       case 'isoir109':
-                       case 'l3':
-                       case 'latin3':
-                               return 'ISO-8859-3';
-
-                       case 'csisolatin4':
-                       case 'iso88594':
-                       case 'iso885941988':
-                       case 'isoir110':
-                       case 'l4':
-                       case 'latin4':
-                               return 'ISO-8859-4';
-
-                       case 'csisolatincyrillic':
-                       case 'cyrillic':
-                       case 'iso88595':
-                       case 'iso885951988':
-                       case 'isoir144':
-                               return 'ISO-8859-5';
-
-                       case 'arabic':
-                       case 'asmo708':
-                       case 'csisolatinarabic':
-                       case 'ecma114':
-                       case 'iso88596':
-                       case 'iso885961987':
-                       case 'isoir127':
-                               return 'ISO-8859-6';
-
-                       case 'csiso88596e':
-                       case 'iso88596e':
-                               return 'ISO-8859-6-E';
-
-                       case 'csiso88596i':
-                       case 'iso88596i':
-                               return 'ISO-8859-6-I';
-
-                       case 'csisolatingreek':
-                       case 'ecma118':
-                       case 'elot928':
-                       case 'greek':
-                       case 'greek8':
-                       case 'iso88597':
-                       case 'iso885971987':
-                       case 'isoir126':
-                               return 'ISO-8859-7';
-
-                       case 'csisolatinhebrew':
-                       case 'hebrew':
-                       case 'iso88598':
-                       case 'iso885981988':
-                       case 'isoir138':
-                               return 'ISO-8859-8';
-
-                       case 'csiso88598e':
-                       case 'iso88598e':
-                               return 'ISO-8859-8-E';
-
-                       case 'csiso88598i':
-                       case 'iso88598i':
-                               return 'ISO-8859-8-I';
-
-                       case 'cswindows31latin5':
-                       case 'iso88599windowslatin5':
-                               return 'ISO-8859-9-Windows-Latin-5';
-
-                       case 'csisolatin6':
-                       case 'iso885910':
-                       case 'iso8859101992':
-                       case 'isoir157':
-                       case 'l6':
-                       case 'latin6':
-                               return 'ISO-8859-10';
-
-                       case 'iso885913':
-                               return 'ISO-8859-13';
-
-                       case 'iso885914':
-                       case 'iso8859141998':
-                       case 'isoceltic':
-                       case 'isoir199':
-                       case 'l8':
-                       case 'latin8':
-                               return 'ISO-8859-14';
-
-                       case 'iso885915':
-                       case 'latin9':
-                               return 'ISO-8859-15';
-
-                       case 'iso885916':
-                       case 'iso8859162001':
-                       case 'isoir226':
-                       case 'l10':
-                       case 'latin10':
-                               return 'ISO-8859-16';
-
-                       case 'iso10646j1':
-                               return 'ISO-10646-J-1';
-
-                       case 'csunicode':
-                       case 'iso10646ucs2':
-                               return 'ISO-10646-UCS-2';
-
-                       case 'csucs4':
-                       case 'iso10646ucs4':
-                               return 'ISO-10646-UCS-4';
-
-                       case 'csunicodeascii':
-                       case 'iso10646ucsbasic':
-                               return 'ISO-10646-UCS-Basic';
-
-                       case 'csunicodelatin1':
-                       case 'iso10646':
-                       case 'iso10646unicodelatin1':
-                               return 'ISO-10646-Unicode-Latin1';
-
-                       case 'csiso10646utf1':
-                       case 'iso10646utf1':
-                               return 'ISO-10646-UTF-1';
-
-                       case 'csiso115481':
-                       case 'iso115481':
-                       case 'isotr115481':
-                               return 'ISO-11548-1';
-
-                       case 'csiso90':
-                       case 'isoir90':
-                               return 'iso-ir-90';
-
-                       case 'csunicodeibm1261':
-                       case 'isounicodeibm1261':
-                               return 'ISO-Unicode-IBM-1261';
-
-                       case 'csunicodeibm1264':
-                       case 'isounicodeibm1264':
-                               return 'ISO-Unicode-IBM-1264';
-
-                       case 'csunicodeibm1265':
-                       case 'isounicodeibm1265':
-                               return 'ISO-Unicode-IBM-1265';
-
-                       case 'csunicodeibm1268':
-                       case 'isounicodeibm1268':
-                               return 'ISO-Unicode-IBM-1268';
-
-                       case 'csunicodeibm1276':
-                       case 'isounicodeibm1276':
-                               return 'ISO-Unicode-IBM-1276';
-
-                       case 'csiso646basic1983':
-                       case 'iso646basic1983':
-                       case 'ref':
-                               return 'ISO_646.basic:1983';
-
-                       case 'csiso2intlrefversion':
-                       case 'irv':
-                       case 'iso646irv1983':
-                       case 'isoir2':
-                               return 'ISO_646.irv:1983';
-
-                       case 'csiso2033':
-                       case 'e13b':
-                       case 'iso20331983':
-                       case 'isoir98':
-                               return 'ISO_2033-1983';
-
-                       case 'csiso5427cyrillic':
-                       case 'iso5427':
-                       case 'isoir37':
-                               return 'ISO_5427';
-
-                       case 'iso5427cyrillic1981':
-                       case 'iso54271981':
-                       case 'isoir54':
-                               return 'ISO_5427:1981';
-
-                       case 'csiso5428greek':
-                       case 'iso54281980':
-                       case 'isoir55':
-                               return 'ISO_5428:1980';
-
-                       case 'csiso6937add':
-                       case 'iso6937225':
-                       case 'isoir152':
-                               return 'ISO_6937-2-25';
-
-                       case 'csisotextcomm':
-                       case 'iso69372add':
-                       case 'isoir142':
-                               return 'ISO_6937-2-add';
-
-                       case 'csiso8859supp':
-                       case 'iso8859supp':
-                       case 'isoir154':
-                       case 'latin125':
-                               return 'ISO_8859-supp';
-
-                       case 'csiso10367box':
-                       case 'iso10367box':
-                       case 'isoir155':
-                               return 'ISO_10367-box';
-
-                       case 'csiso15italian':
-                       case 'iso646it':
-                       case 'isoir15':
-                       case 'it':
-                               return 'IT';
-
-                       case 'csiso13jisc6220jp':
-                       case 'isoir13':
-                       case 'jisc62201969':
-                       case 'jisc62201969jp':
-                       case 'katakana':
-                       case 'x2017':
-                               return 'JIS_C6220-1969-jp';
-
-                       case 'csiso14jisc6220ro':
-                       case 'iso646jp':
-                       case 'isoir14':
-                       case 'jisc62201969ro':
-                       case 'jp':
-                               return 'JIS_C6220-1969-ro';
-
-                       case 'csiso42jisc62261978':
-                       case 'isoir42':
-                       case 'jisc62261978':
-                               return 'JIS_C6226-1978';
-
-                       case 'csiso87jisx208':
-                       case 'isoir87':
-                       case 'jisc62261983':
-                       case 'jisx2081983':
-                       case 'x208':
-                               return 'JIS_C6226-1983';
-
-                       case 'csiso91jisc62291984a':
-                       case 'isoir91':
-                       case 'jisc62291984a':
-                       case 'jpocra':
-                               return 'JIS_C6229-1984-a';
-
-                       case 'csiso92jisc62991984b':
-                       case 'iso646jpocrb':
-                       case 'isoir92':
-                       case 'jisc62291984b':
-                       case 'jpocrb':
-                               return 'JIS_C6229-1984-b';
-
-                       case 'csiso93jis62291984badd':
-                       case 'isoir93':
-                       case 'jisc62291984badd':
-                       case 'jpocrbadd':
-                               return 'JIS_C6229-1984-b-add';
-
-                       case 'csiso94jis62291984hand':
-                       case 'isoir94':
-                       case 'jisc62291984hand':
-                       case 'jpocrhand':
-                               return 'JIS_C6229-1984-hand';
-
-                       case 'csiso95jis62291984handadd':
-                       case 'isoir95':
-                       case 'jisc62291984handadd':
-                       case 'jpocrhandadd':
-                               return 'JIS_C6229-1984-hand-add';
-
-                       case 'csiso96jisc62291984kana':
-                       case 'isoir96':
-                       case 'jisc62291984kana':
-                               return 'JIS_C6229-1984-kana';
-
-                       case 'csjisencoding':
-                       case 'jisencoding':
-                               return 'JIS_Encoding';
-
-                       case 'cshalfwidthkatakana':
-                       case 'jisx201':
-                       case 'x201':
-                               return 'JIS_X0201';
-
-                       case 'csiso159jisx2121990':
-                       case 'isoir159':
-                       case 'jisx2121990':
-                       case 'x212':
-                               return 'JIS_X0212-1990';
-
-                       case 'csiso141jusib1002':
-                       case 'iso646yu':
-                       case 'isoir141':
-                       case 'js':
-                       case 'jusib1002':
-                       case 'yu':
-                               return 'JUS_I.B1.002';
-
-                       case 'csiso147macedonian':
-                       case 'isoir147':
-                       case 'jusib1003mac':
-                       case 'macedonian':
-                               return 'JUS_I.B1.003-mac';
-
-                       case 'csiso146serbian':
-                       case 'isoir146':
-                       case 'jusib1003serb':
-                       case 'serbian':
-                               return 'JUS_I.B1.003-serb';
-
-                       case 'koi7switched':
-                               return 'KOI7-switched';
-
-                       case 'cskoi8r':
-                       case 'koi8r':
-                               return 'KOI8-R';
-
-                       case 'koi8u':
-                               return 'KOI8-U';
-
-                       case 'csksc5636':
-                       case 'iso646kr':
-                       case 'ksc5636':
-                               return 'KSC5636';
-
-                       case 'cskz1048':
-                       case 'kz1048':
-                       case 'rk1048':
-                       case 'strk10482002':
-                               return 'KZ-1048';
-
-                       case 'csiso19latingreek':
-                       case 'isoir19':
-                       case 'latingreek':
-                               return 'latin-greek';
-
-                       case 'csiso27latingreek1':
-                       case 'isoir27':
-                       case 'latingreek1':
-                               return 'Latin-greek-1';
-
-                       case 'csiso158lap':
-                       case 'isoir158':
-                       case 'lap':
-                       case 'latinlap':
-                               return 'latin-lap';
-
-                       case 'csmacintosh':
-                       case 'mac':
-                       case 'macintosh':
-                               return 'macintosh';
-
-                       case 'csmicrosoftpublishing':
-                       case 'microsoftpublishing':
-                               return 'Microsoft-Publishing';
-
-                       case 'csmnem':
-                       case 'mnem':
-                               return 'MNEM';
-
-                       case 'csmnemonic':
-                       case 'mnemonic':
-                               return 'MNEMONIC';
-
-                       case 'csiso86hungarian':
-                       case 'hu':
-                       case 'iso646hu':
-                       case 'isoir86':
-                       case 'msz77953':
-                               return 'MSZ_7795.3';
-
-                       case 'csnatsdano':
-                       case 'isoir91':
-                       case 'natsdano':
-                               return 'NATS-DANO';
-
-                       case 'csnatsdanoadd':
-                       case 'isoir92':
-                       case 'natsdanoadd':
-                               return 'NATS-DANO-ADD';
-
-                       case 'csnatssefi':
-                       case 'isoir81':
-                       case 'natssefi':
-                               return 'NATS-SEFI';
-
-                       case 'csnatssefiadd':
-                       case 'isoir82':
-                       case 'natssefiadd':
-                               return 'NATS-SEFI-ADD';
-
-                       case 'csiso151cuba':
-                       case 'cuba':
-                       case 'iso646cu':
-                       case 'isoir151':
-                       case 'ncnc1081':
-                               return 'NC_NC00-10:81';
-
-                       case 'csiso69french':
-                       case 'fr':
-                       case 'iso646fr':
-                       case 'isoir69':
-                       case 'nfz62010':
-                               return 'NF_Z_62-010';
-
-                       case 'csiso25french':
-                       case 'iso646fr1':
-                       case 'isoir25':
-                       case 'nfz620101973':
-                               return 'NF_Z_62-010_(1973)';
-
-                       case 'csiso60danishnorwegian':
-                       case 'csiso60norwegian1':
-                       case 'iso646no':
-                       case 'isoir60':
-                       case 'no':
-                       case 'ns45511':
-                               return 'NS_4551-1';
-
-                       case 'csiso61norwegian2':
-                       case 'iso646no2':
-                       case 'isoir61':
-                       case 'no2':
-                       case 'ns45512':
-                               return 'NS_4551-2';
-
-                       case 'osdebcdicdf3irv':
-                               return 'OSD_EBCDIC_DF03_IRV';
-
-                       case 'osdebcdicdf41':
-                               return 'OSD_EBCDIC_DF04_1';
-
-                       case 'osdebcdicdf415':
-                               return 'OSD_EBCDIC_DF04_15';
-
-                       case 'cspc8danishnorwegian':
-                       case 'pc8danishnorwegian':
-                               return 'PC8-Danish-Norwegian';
-
-                       case 'cspc8turkish':
-                       case 'pc8turkish':
-                               return 'PC8-Turkish';
-
-                       case 'csiso16portuguese':
-                       case 'iso646pt':
-                       case 'isoir16':
-                       case 'pt':
-                               return 'PT';
-
-                       case 'csiso84portuguese2':
-                       case 'iso646pt2':
-                       case 'isoir84':
-                       case 'pt2':
-                               return 'PT2';
-
-                       case 'cp154':
-                       case 'csptcp154':
-                       case 'cyrillicasian':
-                       case 'pt154':
-                       case 'ptcp154':
-                               return 'PTCP154';
-
-                       case 'scsu':
-                               return 'SCSU';
-
-                       case 'csiso10swedish':
-                       case 'fi':
-                       case 'iso646fi':
-                       case 'iso646se':
-                       case 'isoir10':
-                       case 'se':
-                       case 'sen850200b':
-                               return 'SEN_850200_B';
-
-                       case 'csiso11swedishfornames':
-                       case 'iso646se2':
-                       case 'isoir11':
-                       case 'se2':
-                       case 'sen850200c':
-                               return 'SEN_850200_C';
-
-                       case 'csiso102t617bit':
-                       case 'isoir102':
-                       case 't617bit':
-                               return 'T.61-7bit';
-
-                       case 'csiso103t618bit':
-                       case 'isoir103':
-                       case 't61':
-                       case 't618bit':
-                               return 'T.61-8bit';
-
-                       case 'csiso128t101g2':
-                       case 'isoir128':
-                       case 't101g2':
-                               return 'T.101-G2';
-
-                       case 'cstscii':
-                       case 'tscii':
-                               return 'TSCII';
-
-                       case 'csunicode11':
-                       case 'unicode11':
-                               return 'UNICODE-1-1';
-
-                       case 'csunicode11utf7':
-                       case 'unicode11utf7':
-                               return 'UNICODE-1-1-UTF-7';
-
-                       case 'csunknown8bit':
-                       case 'unknown8bit':
-                               return 'UNKNOWN-8BIT';
-
-                       case 'ansix341968':
-                       case 'ansix341986':
-                       case 'ascii':
-                       case 'cp367':
-                       case 'csascii':
-                       case 'ibm367':
-                       case 'iso646irv1991':
-                       case 'iso646us':
-                       case 'isoir6':
-                       case 'us':
-                       case 'usascii':
-                               return 'US-ASCII';
-
-                       case 'csusdk':
-                       case 'usdk':
-                               return 'us-dk';
-
-                       case 'utf7':
-                               return 'UTF-7';
-
-                       case 'utf8':
-                               return 'UTF-8';
-
-                       case 'utf16':
-                               return 'UTF-16';
-
-                       case 'utf16be':
-                               return 'UTF-16BE';
-
-                       case 'utf16le':
-                               return 'UTF-16LE';
-
-                       case 'utf32':
-                               return 'UTF-32';
-
-                       case 'utf32be':
-                               return 'UTF-32BE';
-
-                       case 'utf32le':
-                               return 'UTF-32LE';
-
-                       case 'csventurainternational':
-                       case 'venturainternational':
-                               return 'Ventura-International';
-
-                       case 'csventuramath':
-                       case 'venturamath':
-                               return 'Ventura-Math';
-
-                       case 'csventuraus':
-                       case 'venturaus':
-                               return 'Ventura-US';
-
-                       case 'csiso70videotexsupp1':
-                       case 'isoir70':
-                       case 'videotexsuppl':
-                               return 'videotex-suppl';
-
-                       case 'csviqr':
-                       case 'viqr':
-                               return 'VIQR';
-
-                       case 'csviscii':
-                       case 'viscii':
-                               return 'VISCII';
-
-                       case 'csshiftjis':
-                       case 'cswindows31j':
-                       case 'mskanji':
-                       case 'shiftjis':
-                       case 'windows31j':
-                               return 'Windows-31J';
-
-                       case 'iso885911':
-                       case 'tis620':
-                               return 'windows-874';
-
-                       case 'cseuckr':
-                       case 'csksc56011987':
-                       case 'euckr':
-                       case 'isoir149':
-                       case 'korean':
-                       case 'ksc5601':
-                       case 'ksc56011987':
-                       case 'ksc56011989':
-                       case 'windows949':
-                               return 'windows-949';
-
-                       case 'windows1250':
-                               return 'windows-1250';
-
-                       case 'windows1251':
-                               return 'windows-1251';
-
-                       case 'cp819':
-                       case 'csisolatin1':
-                       case 'ibm819':
-                       case 'iso88591':
-                       case 'iso885911987':
-                       case 'isoir100':
-                       case 'l1':
-                       case 'latin1':
-                       case 'windows1252':
-                               return 'windows-1252';
-
-                       case 'windows1253':
-                               return 'windows-1253';
-
-                       case 'csisolatin5':
-                       case 'iso88599':
-                       case 'iso885991989':
-                       case 'isoir148':
-                       case 'l5':
-                       case 'latin5':
-                       case 'windows1254':
-                               return 'windows-1254';
-
-                       case 'windows1255':
-                               return 'windows-1255';
-
-                       case 'windows1256':
-                               return 'windows-1256';
-
-                       case 'windows1257':
-                               return 'windows-1257';
-
-                       case 'windows1258':
-                               return 'windows-1258';
-
-                       default:
-                               return $charset;
-               }
-       }
-
-       public static function get_curl_version()
-       {
-               if (is_array($curl = curl_version()))
-               {
-                       $curl = $curl['version'];
-               }
-               elseif (substr($curl, 0, 5) === 'curl/')
-               {
-                       $curl = substr($curl, 5, strcspn($curl, "\x09\x0A\x0B\x0C\x0D", 5));
-               }
-               elseif (substr($curl, 0, 8) === 'libcurl/')
-               {
-                       $curl = substr($curl, 8, strcspn($curl, "\x09\x0A\x0B\x0C\x0D", 8));
-               }
-               else
-               {
-                       $curl = 0;
-               }
-               return $curl;
-       }
-
-       /**
-        * Strip HTML comments
-        *
-        * @param string $data Data to strip comments from
-        * @return string Comment stripped string
-        */
-       public static function strip_comments($data)
-       {
-               $output = '';
-               while (($start = strpos($data, '<!--')) !== false)
-               {
-                       $output .= substr($data, 0, $start);
-                       if (($end = strpos($data, '-->', $start)) !== false)
-                       {
-                               $data = substr_replace($data, '', 0, $end + 3);
-                       }
-                       else
-                       {
-                               $data = '';
-                       }
-               }
-               return $output . $data;
-       }
-
-       public static function parse_date($dt)
-       {
-               $parser = SimplePie_Parse_Date::get();
-               return $parser->parse($dt);
-       }
-
-       /**
-        * Decode HTML entities
-        *
-        * @deprecated Use DOMDocument instead
-        * @param string $data Input data
-        * @return string Output data
-        */
-       public static function entities_decode($data)
-       {
-               $decoder = new SimplePie_Decode_HTML_Entities($data);
-               return $decoder->parse();
-       }
-
-       /**
-        * Remove RFC822 comments
-        *
-        * @param string $data Data to strip comments from
-        * @return string Comment stripped string
-        */
-       public static function uncomment_rfc822($string)
-       {
-               $string = (string) $string;
-               $position = 0;
-               $length = strlen($string);
-               $depth = 0;
-
-               $output = '';
-
-               while ($position < $length && ($pos = strpos($string, '(', $position)) !== false)
-               {
-                       $output .= substr($string, $position, $pos - $position);
-                       $position = $pos + 1;
-                       if ($string[$pos - 1] !== '\\')
-                       {
-                               $depth++;
-                               while ($depth && $position < $length)
-                               {
-                                       $position += strcspn($string, '()', $position);
-                                       if ($string[$position - 1] === '\\')
-                                       {
-                                               $position++;
-                                               continue;
-                                       }
-                                       elseif (isset($string[$position]))
-                                       {
-                                               switch ($string[$position])
-                                               {
-                                                       case '(':
-                                                               $depth++;
-                                                               break;
-
-                                                       case ')':
-                                                               $depth--;
-                                                               break;
-                                               }
-                                               $position++;
-                                       }
-                                       else
-                                       {
-                                               break;
-                                       }
-                               }
-                       }
-                       else
-                       {
-                               $output .= '(';
-                       }
-               }
-               $output .= substr($string, $position);
-
-               return $output;
-       }
-
-       public static function parse_mime($mime)
-       {
-               if (($pos = strpos($mime, ';')) === false)
-               {
-                       return trim($mime);
-               }
-               else
-               {
-                       return trim(substr($mime, 0, $pos));
-               }
-       }
-
-       public static function atom_03_construct_type($attribs)
-       {
-               if (isset($attribs['']['mode']) && strtolower(trim($attribs['']['mode']) === 'base64'))
-               {
-                       $mode = SIMPLEPIE_CONSTRUCT_BASE64;
-               }
-               else
-               {
-                       $mode = SIMPLEPIE_CONSTRUCT_NONE;
-               }
-               if (isset($attribs['']['type']))
-               {
-                       switch (strtolower(trim($attribs['']['type'])))
-                       {
-                               case 'text':
-                               case 'text/plain':
-                                       return SIMPLEPIE_CONSTRUCT_TEXT | $mode;
-
-                               case 'html':
-                               case 'text/html':
-                                       return SIMPLEPIE_CONSTRUCT_HTML | $mode;
-
-                               case 'xhtml':
-                               case 'application/xhtml+xml':
-                                       return SIMPLEPIE_CONSTRUCT_XHTML | $mode;
-
-                               default:
-                                       return SIMPLEPIE_CONSTRUCT_NONE | $mode;
-                       }
-               }
-               else
-               {
-                       return SIMPLEPIE_CONSTRUCT_TEXT | $mode;
-               }
-       }
-
-       public static function atom_10_construct_type($attribs)
-       {
-               if (isset($attribs['']['type']))
-               {
-                       switch (strtolower(trim($attribs['']['type'])))
-                       {
-                               case 'text':
-                                       return SIMPLEPIE_CONSTRUCT_TEXT;
-
-                               case 'html':
-                                       return SIMPLEPIE_CONSTRUCT_HTML;
-
-                               case 'xhtml':
-                                       return SIMPLEPIE_CONSTRUCT_XHTML;
-
-                               default:
-                                       return SIMPLEPIE_CONSTRUCT_NONE;
-                       }
-               }
-               return SIMPLEPIE_CONSTRUCT_TEXT;
-       }
-
-       public static function atom_10_content_construct_type($attribs)
-       {
-               if (isset($attribs['']['type']))
-               {
-                       $type = strtolower(trim($attribs['']['type']));
-                       switch ($type)
-                       {
-                               case 'text':
-                                       return SIMPLEPIE_CONSTRUCT_TEXT;
-
-                               case 'html':
-                                       return SIMPLEPIE_CONSTRUCT_HTML;
-
-                               case 'xhtml':
-                                       return SIMPLEPIE_CONSTRUCT_XHTML;
-                       }
-                       if (in_array(substr($type, -4), array('+xml', '/xml')) || substr($type, 0, 5) === 'text/')
-                       {
-                               return SIMPLEPIE_CONSTRUCT_NONE;
-                       }
-                       else
-                       {
-                               return SIMPLEPIE_CONSTRUCT_BASE64;
-                       }
-               }
-               else
-               {
-                       return SIMPLEPIE_CONSTRUCT_TEXT;
-               }
-       }
-
-       public static function is_isegment_nz_nc($string)
-       {
-               return (bool) preg_match('/^([A-Za-z0-9\-._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!$&\'()*+,;=@]|(%[0-9ABCDEF]{2}))+$/u', $string);
-       }
-
-       public static function space_seperated_tokens($string)
-       {
-               $space_characters = "\x20\x09\x0A\x0B\x0C\x0D";
-               $string_length = strlen($string);
-
-               $position = strspn($string, $space_characters);
-               $tokens = array();
-
-               while ($position < $string_length)
-               {
-                       $len = strcspn($string, $space_characters, $position);
-                       $tokens[] = substr($string, $position, $len);
-                       $position += $len;
-                       $position += strspn($string, $space_characters, $position);
-               }
-
-               return $tokens;
-       }
-
-       /**
-        * Converts a unicode codepoint to a UTF-8 character
-        *
-        * @static
-        * @param int $codepoint Unicode codepoint
-        * @return string UTF-8 character
-        */
-       public static function codepoint_to_utf8($codepoint)
-       {
-               $codepoint = (int) $codepoint;
-               if ($codepoint < 0)
-               {
-                       return false;
-               }
-               else if ($codepoint <= 0x7f)
-               {
-                       return chr($codepoint);
-               }
-               else if ($codepoint <= 0x7ff)
-               {
-                       return chr(0xc0 | ($codepoint >> 6)) . chr(0x80 | ($codepoint & 0x3f));
-               }
-               else if ($codepoint <= 0xffff)
-               {
-                       return chr(0xe0 | ($codepoint >> 12)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
-               }
-               else if ($codepoint <= 0x10ffff)
-               {
-                       return chr(0xf0 | ($codepoint >> 18)) . chr(0x80 | (($codepoint >> 12) & 0x3f)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
-               }
-               else
-               {
-                       // U+FFFD REPLACEMENT CHARACTER
-                       return "\xEF\xBF\xBD";
-               }
-       }
-
-       /**
-        * Similar to parse_str()
-        *
-        * Returns an associative array of name/value pairs, where the value is an
-        * array of values that have used the same name
-        *
-        * @static
-        * @param string $str The input string.
-        * @return array
-        */
-       public static function parse_str($str)
-       {
-               $return = array();
-               $str = explode('&', $str);
-
-               foreach ($str as $section)
-               {
-                       if (strpos($section, '=') !== false)
-                       {
-                               list($name, $value) = explode('=', $section, 2);
-                               $return[urldecode($name)][] = urldecode($value);
-                       }
-                       else
-                       {
-                               $return[urldecode($section)][] = null;
-                       }
-               }
-
-               return $return;
-       }
-
-       /**
-        * Detect XML encoding, as per XML 1.0 Appendix F.1
-        *
-        * @todo Add support for EBCDIC
-        * @param string $data XML data
-        * @param SimplePie_Registry $registry Class registry
-        * @return array Possible encodings
-        */
-       public static function xml_encoding($data, $registry)
-       {
-               // UTF-32 Big Endian BOM
-               if (substr($data, 0, 4) === "\x00\x00\xFE\xFF")
-               {
-                       $encoding[] = 'UTF-32BE';
-               }
-               // UTF-32 Little Endian BOM
-               elseif (substr($data, 0, 4) === "\xFF\xFE\x00\x00")
-               {
-                       $encoding[] = 'UTF-32LE';
-               }
-               // UTF-16 Big Endian BOM
-               elseif (substr($data, 0, 2) === "\xFE\xFF")
-               {
-                       $encoding[] = 'UTF-16BE';
-               }
-               // UTF-16 Little Endian BOM
-               elseif (substr($data, 0, 2) === "\xFF\xFE")
-               {
-                       $encoding[] = 'UTF-16LE';
-               }
-               // UTF-8 BOM
-               elseif (substr($data, 0, 3) === "\xEF\xBB\xBF")
-               {
-                       $encoding[] = 'UTF-8';
-               }
-               // UTF-32 Big Endian Without BOM
-               elseif (substr($data, 0, 20) === "\x00\x00\x00\x3C\x00\x00\x00\x3F\x00\x00\x00\x78\x00\x00\x00\x6D\x00\x00\x00\x6C")
-               {
-                       if ($pos = strpos($data, "\x00\x00\x00\x3F\x00\x00\x00\x3E"))
-                       {
-                               $parser = $registry->create('XML_Declaration_Parser', array(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32BE', 'UTF-8')));
-                               if ($parser->parse())
-                               {
-                                       $encoding[] = $parser->encoding;
-                               }
-                       }
-                       $encoding[] = 'UTF-32BE';
-               }
-               // UTF-32 Little Endian Without BOM
-               elseif (substr($data, 0, 20) === "\x3C\x00\x00\x00\x3F\x00\x00\x00\x78\x00\x00\x00\x6D\x00\x00\x00\x6C\x00\x00\x00")
-               {
-                       if ($pos = strpos($data, "\x3F\x00\x00\x00\x3E\x00\x00\x00"))
-                       {
-                               $parser = $registry->create('XML_Declaration_Parser', array(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32LE', 'UTF-8')));
-                               if ($parser->parse())
-                               {
-                                       $encoding[] = $parser->encoding;
-                               }
-                       }
-                       $encoding[] = 'UTF-32LE';
-               }
-               // UTF-16 Big Endian Without BOM
-               elseif (substr($data, 0, 10) === "\x00\x3C\x00\x3F\x00\x78\x00\x6D\x00\x6C")
-               {
-                       if ($pos = strpos($data, "\x00\x3F\x00\x3E"))
-                       {
-                               $parser = $registry->create('XML_Declaration_Parser', array(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16BE', 'UTF-8')));
-                               if ($parser->parse())
-                               {
-                                       $encoding[] = $parser->encoding;
-                               }
-                       }
-                       $encoding[] = 'UTF-16BE';
-               }
-               // UTF-16 Little Endian Without BOM
-               elseif (substr($data, 0, 10) === "\x3C\x00\x3F\x00\x78\x00\x6D\x00\x6C\x00")
-               {
-                       if ($pos = strpos($data, "\x3F\x00\x3E\x00"))
-                       {
-                               $parser = $registry->create('XML_Declaration_Parser', array(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16LE', 'UTF-8')));
-                               if ($parser->parse())
-                               {
-                                       $encoding[] = $parser->encoding;
-                               }
-                       }
-                       $encoding[] = 'UTF-16LE';
-               }
-               // US-ASCII (or superset)
-               elseif (substr($data, 0, 5) === "\x3C\x3F\x78\x6D\x6C")
-               {
-                       if ($pos = strpos($data, "\x3F\x3E"))
-                       {
-                               $parser = $registry->create('XML_Declaration_Parser', array(substr($data, 5, $pos - 5)));
-                               if ($parser->parse())
-                               {
-                                       $encoding[] = $parser->encoding;
-                               }
-                       }
-                       $encoding[] = 'UTF-8';
-               }
-               // Fallback to UTF-8
-               else
-               {
-                       $encoding[] = 'UTF-8';
-               }
-               return $encoding;
-       }
-
-       public static function output_javascript()
-       {
-               if (function_exists('ob_gzhandler'))
-               {
-                       ob_start('ob_gzhandler');
-               }
-               header('Content-type: text/javascript; charset: UTF-8');
-               header('Cache-Control: must-revalidate');
-               header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 604800) . ' GMT'); // 7 days
-               ?>
-function embed_quicktime(type, bgcolor, width, height, link, placeholder, loop) {
-       if (placeholder != '') {
-               document.writeln('<embed type="'+type+'" style="cursor:hand; cursor:pointer;" href="'+link+'" src="'+placeholder+'" width="'+width+'" height="'+height+'" autoplay="false" target="myself" controller="false" loop="'+loop+'" scale="aspect" bgcolor="'+bgcolor+'" pluginspage="http://www.apple.com/quicktime/download/"></embed>');
-       }
-       else {
-               document.writeln('<embed type="'+type+'" style="cursor:hand; cursor:pointer;" src="'+link+'" width="'+width+'" height="'+height+'" autoplay="false" target="myself" controller="true" loop="'+loop+'" scale="aspect" bgcolor="'+bgcolor+'" pluginspage="http://www.apple.com/quicktime/download/"></embed>');
-       }
-}
-
-function embed_flash(bgcolor, width, height, link, loop, type) {
-       document.writeln('<embed src="'+link+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="'+type+'" quality="high" width="'+width+'" height="'+height+'" bgcolor="'+bgcolor+'" loop="'+loop+'"></embed>');
-}
-
-function embed_flv(width, height, link, placeholder, loop, player) {
-       document.writeln('<embed src="'+player+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" quality="high" width="'+width+'" height="'+height+'" wmode="transparent" flashvars="file='+link+'&autostart=false&repeat='+loop+'&showdigits=true&showfsbutton=false"></embed>');
-}
-
-function embed_wmedia(width, height, link) {
-       document.writeln('<embed type="application/x-mplayer2" src="'+link+'" autosize="1" width="'+width+'" height="'+height+'" showcontrols="1" showstatusbar="0" showdisplay="0" autostart="0"></embed>');
-}
-               <?php
-       }
-
-       /**
-        * Get the SimplePie build timestamp
-        *
-        * Uses the git index if it exists, otherwise uses the modification time
-        * of the newest file.
-        */
-       public static function get_build()
-       {
-               $root = dirname(dirname(__FILE__));
-               if (file_exists($root . '/.git/index'))
-               {
-                       return filemtime($root . '/.git/index');
-               }
-               elseif (file_exists($root . '/SimplePie'))
-               {
-                       $time = 0;
-                       foreach (glob($root . '/SimplePie/*.php') as $file)
-                       {
-                               if (($mtime = filemtime($file)) > $time)
-                               {
-                                       $time = $mtime;
-                               }
-                       }
-                       return $time;
-               }
-               elseif (file_exists(dirname(__FILE__) . '/Core.php'))
-               {
-                       return filemtime(dirname(__FILE__) . '/Core.php');
-               }
-               else
-               {
-                       return filemtime(__FILE__);
-               }
-       }
-
-       /**
-        * Format debugging information
-        */
-       public static function debug(&$sp)
-       {
-               $info = 'SimplePie ' . SIMPLEPIE_VERSION . ' Build ' . SIMPLEPIE_BUILD . "\n";
-               $info .= 'PHP ' . PHP_VERSION . "\n";
-               if ($sp->error() !== null)
-               {
-                       $info .= 'Error occurred: ' . $sp->error() . "\n";
-               }
-               else
-               {
-                       $info .= "No error found.\n";
-               }
-               $info .= "Extensions:\n";
-               $extensions = array('pcre', 'curl', 'zlib', 'mbstring', 'iconv', 'xmlreader', 'xml');
-               foreach ($extensions as $ext)
-               {
-                       if (extension_loaded($ext))
-                       {
-                               $info .= "    $ext loaded\n";
-                               switch ($ext)
-                               {
-                                       case 'pcre':
-                                               $info .= '      Version ' . PCRE_VERSION . "\n";
-                                               break;
-                                       case 'curl':
-                                               $version = curl_version();
-                                               $info .= '      Version ' . $version['version'] . "\n";
-                                               break;
-                                       case 'mbstring':
-                                               $info .= '      Overloading: ' . mb_get_info('func_overload') . "\n";
-                                               break;
-                                       case 'iconv':
-                                               $info .= '      Version ' . ICONV_VERSION . "\n";
-                                               break;
-                                       case 'xml':
-                                               $info .= '      Version ' . LIBXML_DOTTED_VERSION . "\n";
-                                               break;
-                               }
-                       }
-                       else
-                       {
-                               $info .= "    $ext not loaded\n";
-                       }
-               }
-               return $info;
-       }
-
-       public static function silence_errors($num, $str)
-       {
-               // No-op
-       }
-}
-
-/**
- * Class to validate and to work with IPv6 addresses.
- *
- * @package SimplePie
- * @subpackage HTTP
- * @copyright 2003-2005 The PHP Group
- * @license http://www.opensource.org/licenses/bsd-license.php
- * @link http://pear.php.net/package/Net_IPv6
- * @author Alexander Merz <alexander.merz@web.de>
- * @author elfrink at introweb dot nl
- * @author Josh Peck <jmp at joshpeck dot org>
- * @author Geoffrey Sneddon <geoffers@gmail.com>
- */
-class SimplePie_Net_IPv6
-{
-       /**
-        * Uncompresses an IPv6 address
-        *
-        * RFC 4291 allows you to compress concecutive zero pieces in an address to
-        * '::'. This method expects a valid IPv6 address and expands the '::' to
-        * the required number of zero pieces.
-        *
-        * Example:  FF01::101   ->  FF01:0:0:0:0:0:0:101
-        *           ::1         ->  0:0:0:0:0:0:0:1
-        *
-        * @author Alexander Merz <alexander.merz@web.de>
-        * @author elfrink at introweb dot nl
-        * @author Josh Peck <jmp at joshpeck dot org>
-        * @copyright 2003-2005 The PHP Group
-        * @license http://www.opensource.org/licenses/bsd-license.php
-        * @param string $ip An IPv6 address
-        * @return string The uncompressed IPv6 address
-        */
-       public static function uncompress($ip)
-       {
-               $c1 = -1;
-               $c2 = -1;
-               if (substr_count($ip, '::') === 1)
-               {
-                       list($ip1, $ip2) = explode('::', $ip);
-                       if ($ip1 === '')
-                       {
-                               $c1 = -1;
-                       }
-                       else
-                       {
-                               $c1 = substr_count($ip1, ':');
-                       }
-                       if ($ip2 === '')
-                       {
-                               $c2 = -1;
-                       }
-                       else
-                       {
-                               $c2 = substr_count($ip2, ':');
-                       }
-                       if (strpos($ip2, '.') !== false)
-                       {
-                               $c2++;
-                       }
-                       // ::
-                       if ($c1 === -1 && $c2 === -1)
-                       {
-                               $ip = '0:0:0:0:0:0:0:0';
-                       }
-                       // ::xxx
-                       else if ($c1 === -1)
-                       {
-                               $fill = str_repeat('0:', 7 - $c2);
-                               $ip = str_replace('::', $fill, $ip);
-                       }
-                       // xxx::
-                       else if ($c2 === -1)
-                       {
-                               $fill = str_repeat(':0', 7 - $c1);
-                               $ip = str_replace('::', $fill, $ip);
-                       }
-                       // xxx::xxx
-                       else
-                       {
-                               $fill = ':' . str_repeat('0:', 6 - $c2 - $c1);
-                               $ip = str_replace('::', $fill, $ip);
-                       }
-               }
-               return $ip;
-       }
-
-       /**
-        * Compresses an IPv6 address
-        *
-        * RFC 4291 allows you to compress concecutive zero pieces in an address to
-        * '::'. This method expects a valid IPv6 address and compresses consecutive
-        * zero pieces to '::'.
-        *
-        * Example:  FF01:0:0:0:0:0:0:101   ->  FF01::101
-        *           0:0:0:0:0:0:0:1        ->  ::1
-        *
-        * @see uncompress()
-        * @param string $ip An IPv6 address
-        * @return string The compressed IPv6 address
-        */
-       public static function compress($ip)
-       {
-               // Prepare the IP to be compressed
-               $ip = self::uncompress($ip);
-               $ip_parts = self::split_v6_v4($ip);
-
-               // Replace all leading zeros
-               $ip_parts[0] = preg_replace('/(^|:)0+([0-9])/', '\1\2', $ip_parts[0]);
-
-               // Find bunches of zeros
-               if (preg_match_all('/(?:^|:)(?:0(?::|$))+/', $ip_parts[0], $matches, PREG_OFFSET_CAPTURE))
-               {
-                       $max = 0;
-                       $pos = null;
-                       foreach ($matches[0] as $match)
-                       {
-                               if (strlen($match[0]) > $max)
-                               {
-                                       $max = strlen($match[0]);
-                                       $pos = $match[1];
-                               }
-                       }
-
-                       $ip_parts[0] = substr_replace($ip_parts[0], '::', $pos, $max);
-               }
-
-               if ($ip_parts[1] !== '')
-               {
-                       return implode(':', $ip_parts);
-               }
-               else
-               {
-                       return $ip_parts[0];
-               }
-       }
-
-       /**
-        * Splits an IPv6 address into the IPv6 and IPv4 representation parts
-        *
-        * RFC 4291 allows you to represent the last two parts of an IPv6 address
-        * using the standard IPv4 representation
-        *
-        * Example:  0:0:0:0:0:0:13.1.68.3
-        *           0:0:0:0:0:FFFF:129.144.52.38
-        *
-        * @param string $ip An IPv6 address
-        * @return array [0] contains the IPv6 represented part, and [1] the IPv4 represented part
-        */
-       private static function split_v6_v4($ip)
-       {
-               if (strpos($ip, '.') !== false)
-               {
-                       $pos = strrpos($ip, ':');
-                       $ipv6_part = substr($ip, 0, $pos);
-                       $ipv4_part = substr($ip, $pos + 1);
-                       return array($ipv6_part, $ipv4_part);
-               }
-               else
-               {
-                       return array($ip, '');
-               }
-       }
-
-       /**
-        * Checks an IPv6 address
-        *
-        * Checks if the given IP is a valid IPv6 address
-        *
-        * @param string $ip An IPv6 address
-        * @return bool true if $ip is a valid IPv6 address
-        */
-       public static function check_ipv6($ip)
-       {
-               $ip = self::uncompress($ip);
-               list($ipv6, $ipv4) = self::split_v6_v4($ip);
-               $ipv6 = explode(':', $ipv6);
-               $ipv4 = explode('.', $ipv4);
-               if (count($ipv6) === 8 && count($ipv4) === 1 || count($ipv6) === 6 && count($ipv4) === 4)
-               {
-                       foreach ($ipv6 as $ipv6_part)
-                       {
-                               // The section can't be empty
-                               if ($ipv6_part === '')
-                                       return false;
-
-                               // Nor can it be over four characters
-                               if (strlen($ipv6_part) > 4)
-                                       return false;
-
-                               // Remove leading zeros (this is safe because of the above)
-                               $ipv6_part = ltrim($ipv6_part, '0');
-                               if ($ipv6_part === '')
-                                       $ipv6_part = '0';
-
-                               // Check the value is valid
-                               $value = hexdec($ipv6_part);
-                               if (dechex($value) !== strtolower($ipv6_part) || $value < 0 || $value > 0xFFFF)
-                                       return false;
-                       }
-                       if (count($ipv4) === 4)
-                       {
-                               foreach ($ipv4 as $ipv4_part)
-                               {
-                                       $value = (int) $ipv4_part;
-                                       if ((string) $value !== $ipv4_part || $value < 0 || $value > 0xFF)
-                                               return false;
-                               }
-                       }
-                       return true;
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       /**
-        * Checks if the given IP is a valid IPv6 address
-        *
-        * @codeCoverageIgnore
-        * @deprecated Use {@see SimplePie_Net_IPv6::check_ipv6()} instead
-        * @see check_ipv6
-        * @param string $ip An IPv6 address
-        * @return bool true if $ip is a valid IPv6 address
-        */
-       public static function checkIPv6($ip)
-       {
-               return self::check_ipv6($ip);
-       }
-}
-
-/**
- * Date Parser
- *
- * @package SimplePie
- * @subpackage Parsing
- */
-class SimplePie_Parse_Date
-{
-       /**
-        * Input data
-        *
-        * @access protected
-        * @var string
-        */
-       var $date;
-
-       /**
-        * List of days, calendar day name => ordinal day number in the week
-        *
-        * @access protected
-        * @var array
-        */
-       var $day = array(
-               // English
-               'mon' => 1,
-               'monday' => 1,
-               'tue' => 2,
-               'tuesday' => 2,
-               'wed' => 3,
-               'wednesday' => 3,
-               'thu' => 4,
-               'thursday' => 4,
-               'fri' => 5,
-               'friday' => 5,
-               'sat' => 6,
-               'saturday' => 6,
-               'sun' => 7,
-               'sunday' => 7,
-               // Dutch
-               'maandag' => 1,
-               'dinsdag' => 2,
-               'woensdag' => 3,
-               'donderdag' => 4,
-               'vrijdag' => 5,
-               'zaterdag' => 6,
-               'zondag' => 7,
-               // French
-               'lundi' => 1,
-               'mardi' => 2,
-               'mercredi' => 3,
-               'jeudi' => 4,
-               'vendredi' => 5,
-               'samedi' => 6,
-               'dimanche' => 7,
-               // German
-               'montag' => 1,
-               'dienstag' => 2,
-               'mittwoch' => 3,
-               'donnerstag' => 4,
-               'freitag' => 5,
-               'samstag' => 6,
-               'sonnabend' => 6,
-               'sonntag' => 7,
-               // Italian
-               'lunedì' => 1,
-               'martedì' => 2,
-               'mercoledì' => 3,
-               'giovedì' => 4,
-               'venerdì' => 5,
-               'sabato' => 6,
-               'domenica' => 7,
-               // Spanish
-               'lunes' => 1,
-               'martes' => 2,
-               'miércoles' => 3,
-               'jueves' => 4,
-               'viernes' => 5,
-               'sábado' => 6,
-               'domingo' => 7,
-               // Finnish
-               'maanantai' => 1,
-               'tiistai' => 2,
-               'keskiviikko' => 3,
-               'torstai' => 4,
-               'perjantai' => 5,
-               'lauantai' => 6,
-               'sunnuntai' => 7,
-               // Hungarian
-               'hétfő' => 1,
-               'kedd' => 2,
-               'szerda' => 3,
-               'csütörtok' => 4,
-               'péntek' => 5,
-               'szombat' => 6,
-               'vasárnap' => 7,
-               // Greek
-               'Δευ' => 1,
-               'Τρι' => 2,
-               'Τετ' => 3,
-               'Πεμ' => 4,
-               'Παρ' => 5,
-               'Σαβ' => 6,
-               'Κυρ' => 7,
-       );
-
-       /**
-        * List of months, calendar month name => calendar month number
-        *
-        * @access protected
-        * @var array
-        */
-       var $month = array(
-               // English
-               'jan' => 1,
-               'january' => 1,
-               'feb' => 2,
-               'february' => 2,
-               'mar' => 3,
-               'march' => 3,
-               'apr' => 4,
-               'april' => 4,
-               'may' => 5,
-               // No long form of May
-               'jun' => 6,
-               'june' => 6,
-               'jul' => 7,
-               'july' => 7,
-               'aug' => 8,
-               'august' => 8,
-               'sep' => 9,
-               'september' => 8,
-               'oct' => 10,
-               'october' => 10,
-               'nov' => 11,
-               'november' => 11,
-               'dec' => 12,
-               'december' => 12,
-               // Dutch
-               'januari' => 1,
-               'februari' => 2,
-               'maart' => 3,
-               'april' => 4,
-               'mei' => 5,
-               'juni' => 6,
-               'juli' => 7,
-               'augustus' => 8,
-               'september' => 9,
-               'oktober' => 10,
-               'november' => 11,
-               'december' => 12,
-               // French
-               'janvier' => 1,
-               'février' => 2,
-               'mars' => 3,
-               'avril' => 4,
-               'mai' => 5,
-               'juin' => 6,
-               'juillet' => 7,
-               'août' => 8,
-               'septembre' => 9,
-               'octobre' => 10,
-               'novembre' => 11,
-               'décembre' => 12,
-               // German
-               'januar' => 1,
-               'februar' => 2,
-               'märz' => 3,
-               'april' => 4,
-               'mai' => 5,
-               'juni' => 6,
-               'juli' => 7,
-               'august' => 8,
-               'september' => 9,
-               'oktober' => 10,
-               'november' => 11,
-               'dezember' => 12,
-               // Italian
-               'gennaio' => 1,
-               'febbraio' => 2,
-               'marzo' => 3,
-               'aprile' => 4,
-               'maggio' => 5,
-               'giugno' => 6,
-               'luglio' => 7,
-               'agosto' => 8,
-               'settembre' => 9,
-               'ottobre' => 10,
-               'novembre' => 11,
-               'dicembre' => 12,
-               // Spanish
-               'enero' => 1,
-               'febrero' => 2,
-               'marzo' => 3,
-               'abril' => 4,
-               'mayo' => 5,
-               'junio' => 6,
-               'julio' => 7,
-               'agosto' => 8,
-               'septiembre' => 9,
-               'setiembre' => 9,
-               'octubre' => 10,
-               'noviembre' => 11,
-               'diciembre' => 12,
-               // Finnish
-               'tammikuu' => 1,
-               'helmikuu' => 2,
-               'maaliskuu' => 3,
-               'huhtikuu' => 4,
-               'toukokuu' => 5,
-               'kesäkuu' => 6,
-               'heinäkuu' => 7,
-               'elokuu' => 8,
-               'suuskuu' => 9,
-               'lokakuu' => 10,
-               'marras' => 11,
-               'joulukuu' => 12,
-               // Hungarian
-               'január' => 1,
-               'február' => 2,
-               'március' => 3,
-               'április' => 4,
-               'május' => 5,
-               'június' => 6,
-               'július' => 7,
-               'augusztus' => 8,
-               'szeptember' => 9,
-               'október' => 10,
-               'november' => 11,
-               'december' => 12,
-               // Greek
-               'Ιαν' => 1,
-               'Φεβ' => 2,
-               'Μάώ' => 3,
-               'Μαώ' => 3,
-               'Απρ' => 4,
-               'Μάι' => 5,
-               'Μαϊ' => 5,
-               'Μαι' => 5,
-               'Ιούν' => 6,
-               'Ιον' => 6,
-               'Ιούλ' => 7,
-               'Ιολ' => 7,
-               'Αύγ' => 8,
-               'Αυγ' => 8,
-               'Σεπ' => 9,
-               'Οκτ' => 10,
-               'Νοέ' => 11,
-               'Δεκ' => 12,
-       );
-
-       /**
-        * List of timezones, abbreviation => offset from UTC
-        *
-        * @access protected
-        * @var array
-        */
-       var $timezone = array(
-               'ACDT' => 37800,
-               'ACIT' => 28800,
-               'ACST' => 34200,
-               'ACT' => -18000,
-               'ACWDT' => 35100,
-               'ACWST' => 31500,
-               'AEDT' => 39600,
-               'AEST' => 36000,
-               'AFT' => 16200,
-               'AKDT' => -28800,
-               'AKST' => -32400,
-               'AMDT' => 18000,
-               'AMT' => -14400,
-               'ANAST' => 46800,
-               'ANAT' => 43200,
-               'ART' => -10800,
-               'AZOST' => -3600,
-               'AZST' => 18000,
-               'AZT' => 14400,
-               'BIOT' => 21600,
-               'BIT' => -43200,
-               'BOT' => -14400,
-               'BRST' => -7200,
-               'BRT' => -10800,
-               'BST' => 3600,
-               'BTT' => 21600,
-               'CAST' => 18000,
-               'CAT' => 7200,
-               'CCT' => 23400,
-               'CDT' => -18000,
-               'CEDT' => 7200,
-               'CET' => 3600,
-               'CGST' => -7200,
-               'CGT' => -10800,
-               'CHADT' => 49500,
-               'CHAST' => 45900,
-               'CIST' => -28800,
-               'CKT' => -36000,
-               'CLDT' => -10800,
-               'CLST' => -14400,
-               'COT' => -18000,
-               'CST' => -21600,
-               'CVT' => -3600,
-               'CXT' => 25200,
-               'DAVT' => 25200,
-               'DTAT' => 36000,
-               'EADT' => -18000,
-               'EAST' => -21600,
-               'EAT' => 10800,
-               'ECT' => -18000,
-               'EDT' => -14400,
-               'EEST' => 10800,
-               'EET' => 7200,
-               'EGT' => -3600,
-               'EKST' => 21600,
-               'EST' => -18000,
-               'FJT' => 43200,
-               'FKDT' => -10800,
-               'FKST' => -14400,
-               'FNT' => -7200,
-               'GALT' => -21600,
-               'GEDT' => 14400,
-               'GEST' => 10800,
-               'GFT' => -10800,
-               'GILT' => 43200,
-               'GIT' => -32400,
-               'GST' => 14400,
-               'GST' => -7200,
-               'GYT' => -14400,
-               'HAA' => -10800,
-               'HAC' => -18000,
-               'HADT' => -32400,
-               'HAE' => -14400,
-               'HAP' => -25200,
-               'HAR' => -21600,
-               'HAST' => -36000,
-               'HAT' => -9000,
-               'HAY' => -28800,
-               'HKST' => 28800,
-               'HMT' => 18000,
-               'HNA' => -14400,
-               'HNC' => -21600,
-               'HNE' => -18000,
-               'HNP' => -28800,
-               'HNR' => -25200,
-               'HNT' => -12600,
-               'HNY' => -32400,
-               'IRDT' => 16200,
-               'IRKST' => 32400,
-               'IRKT' => 28800,
-               'IRST' => 12600,
-               'JFDT' => -10800,
-               'JFST' => -14400,
-               'JST' => 32400,
-               'KGST' => 21600,
-               'KGT' => 18000,
-               'KOST' => 39600,
-               'KOVST' => 28800,
-               'KOVT' => 25200,
-               'KRAST' => 28800,
-               'KRAT' => 25200,
-               'KST' => 32400,
-               'LHDT' => 39600,
-               'LHST' => 37800,
-               'LINT' => 50400,
-               'LKT' => 21600,
-               'MAGST' => 43200,
-               'MAGT' => 39600,
-               'MAWT' => 21600,
-               'MDT' => -21600,
-               'MESZ' => 7200,
-               'MEZ' => 3600,
-               'MHT' => 43200,
-               'MIT' => -34200,
-               'MNST' => 32400,
-               'MSDT' => 14400,
-               'MSST' => 10800,
-               'MST' => -25200,
-               'MUT' => 14400,
-               'MVT' => 18000,
-               'MYT' => 28800,
-               'NCT' => 39600,
-               'NDT' => -9000,
-               'NFT' => 41400,
-               'NMIT' => 36000,
-               'NOVST' => 25200,
-               'NOVT' => 21600,
-               'NPT' => 20700,
-               'NRT' => 43200,
-               'NST' => -12600,
-               'NUT' => -39600,
-               'NZDT' => 46800,
-               'NZST' => 43200,
-               'OMSST' => 25200,
-               'OMST' => 21600,
-               'PDT' => -25200,
-               'PET' => -18000,
-               'PETST' => 46800,
-               'PETT' => 43200,
-               'PGT' => 36000,
-               'PHOT' => 46800,
-               'PHT' => 28800,
-               'PKT' => 18000,
-               'PMDT' => -7200,
-               'PMST' => -10800,
-               'PONT' => 39600,
-               'PST' => -28800,
-               'PWT' => 32400,
-               'PYST' => -10800,
-               'PYT' => -14400,
-               'RET' => 14400,
-               'ROTT' => -10800,
-               'SAMST' => 18000,
-               'SAMT' => 14400,
-               'SAST' => 7200,
-               'SBT' => 39600,
-               'SCDT' => 46800,
-               'SCST' => 43200,
-               'SCT' => 14400,
-               'SEST' => 3600,
-               'SGT' => 28800,
-               'SIT' => 28800,
-               'SRT' => -10800,
-               'SST' => -39600,
-               'SYST' => 10800,
-               'SYT' => 7200,
-               'TFT' => 18000,
-               'THAT' => -36000,
-               'TJT' => 18000,
-               'TKT' => -36000,
-               'TMT' => 18000,
-               'TOT' => 46800,
-               'TPT' => 32400,
-               'TRUT' => 36000,
-               'TVT' => 43200,
-               'TWT' => 28800,
-               'UYST' => -7200,
-               'UYT' => -10800,
-               'UZT' => 18000,
-               'VET' => -14400,
-               'VLAST' => 39600,
-               'VLAT' => 36000,
-               'VOST' => 21600,
-               'VUT' => 39600,
-               'WAST' => 7200,
-               'WAT' => 3600,
-               'WDT' => 32400,
-               'WEST' => 3600,
-               'WFT' => 43200,
-               'WIB' => 25200,
-               'WIT' => 32400,
-               'WITA' => 28800,
-               'WKST' => 18000,
-               'WST' => 28800,
-               'YAKST' => 36000,
-               'YAKT' => 32400,
-               'YAPT' => 36000,
-               'YEKST' => 21600,
-               'YEKT' => 18000,
-       );
-
-       /**
-        * Cached PCRE for SimplePie_Parse_Date::$day
-        *
-        * @access protected
-        * @var string
-        */
-       var $day_pcre;
-
-       /**
-        * Cached PCRE for SimplePie_Parse_Date::$month
-        *
-        * @access protected
-        * @var string
-        */
-       var $month_pcre;
-
-       /**
-        * Array of user-added callback methods
-        *
-        * @access private
-        * @var array
-        */
-       var $built_in = array();
-
-       /**
-        * Array of user-added callback methods
-        *
-        * @access private
-        * @var array
-        */
-       var $user = array();
-
-       /**
-        * Create new SimplePie_Parse_Date object, and set self::day_pcre,
-        * self::month_pcre, and self::built_in
-        *
-        * @access private
-        */
-       public function __construct()
-       {
-               $this->day_pcre = '(' . implode(array_keys($this->day), '|') . ')';
-               $this->month_pcre = '(' . implode(array_keys($this->month), '|') . ')';
-
-               static $cache;
-               if (!isset($cache[get_class($this)]))
-               {
-                       $all_methods = get_class_methods($this);
-
-                       foreach ($all_methods as $method)
-                       {
-                               if (strtolower(substr($method, 0, 5)) === 'date_')
-                               {
-                                       $cache[get_class($this)][] = $method;
-                               }
-                       }
-               }
-
-               foreach ($cache[get_class($this)] as $method)
-               {
-                       $this->built_in[] = $method;
-               }
-       }
-
-       /**
-        * Get the object
-        *
-        * @access public
-        */
-       public static function get()
-       {
-               static $object;
-               if (!$object)
-               {
-                       $object = new SimplePie_Parse_Date;
-               }
-               return $object;
-       }
-
-       /**
-        * Parse a date
-        *
-        * @final
-        * @access public
-        * @param string $date Date to parse
-        * @return int Timestamp corresponding to date string, or false on failure
-        */
-       public function parse($date)
-       {
-               foreach ($this->user as $method)
-               {
-                       if (($returned = call_user_func($method, $date)) !== false)
-                       {
-                               return $returned;
-                       }
-               }
-
-               foreach ($this->built_in as $method)
-               {
-                       if (($returned = call_user_func(array($this, $method), $date)) !== false)
-                       {
-                               return $returned;
-                       }
-               }
-
-               return false;
-       }
-
-       /**
-        * Add a callback method to parse a date
-        *
-        * @final
-        * @access public
-        * @param callback $callback
-        */
-       public function add_callback($callback)
-       {
-               if (is_callable($callback))
-               {
-                       $this->user[] = $callback;
-               }
-               else
-               {
-                       trigger_error('User-supplied function must be a valid callback', E_USER_WARNING);
-               }
-       }
-
-       /**
-        * Parse a superset of W3C-DTF (allows hyphens and colons to be omitted, as
-        * well as allowing any of upper or lower case "T", horizontal tabs, or
-        * spaces to be used as the time seperator (including more than one))
-        *
-        * @access protected
-        * @return int Timestamp
-        */
-       public function date_w3cdtf($date)
-       {
-               static $pcre;
-               if (!$pcre)
-               {
-                       $year = '([0-9]{4})';
-                       $month = $day = $hour = $minute = $second = '([0-9]{2})';
-                       $decimal = '([0-9]*)';
-                       $zone = '(?:(Z)|([+\-])([0-9]{1,2}):?([0-9]{1,2}))';
-                       $pcre = '/^' . $year . '(?:-?' . $month . '(?:-?' . $day . '(?:[Tt\x09\x20]+' . $hour . '(?::?' . $minute . '(?::?' . $second . '(?:.' . $decimal . ')?)?)?' . $zone . ')?)?)?$/';
-               }
-               if (preg_match($pcre, $date, $match))
-               {
-                       /*
-                       Capturing subpatterns:
-                       1: Year
-                       2: Month
-                       3: Day
-                       4: Hour
-                       5: Minute
-                       6: Second
-                       7: Decimal fraction of a second
-                       8: Zulu
-                       9: Timezone ±
-                       10: Timezone hours
-                       11: Timezone minutes
-                       */
-
-                       // Fill in empty matches
-                       for ($i = count($match); $i <= 3; $i++)
-                       {
-                               $match[$i] = '1';
-                       }
-
-                       for ($i = count($match); $i <= 7; $i++)
-                       {
-                               $match[$i] = '0';
-                       }
-
-                       // Numeric timezone
-                       if (isset($match[9]) && $match[9] !== '')
-                       {
-                               $timezone = $match[10] * 3600;
-                               $timezone += $match[11] * 60;
-                               if ($match[9] === '-')
-                               {
-                                       $timezone = 0 - $timezone;
-                               }
-                       }
-                       else
-                       {
-                               $timezone = 0;
-                       }
-
-                       // Convert the number of seconds to an integer, taking decimals into account
-                       $second = round($match[6] + $match[7] / pow(10, strlen($match[7])));
-
-                       return gmmktime($match[4], $match[5], $second, $match[2], $match[3], $match[1]) - $timezone;
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       /**
-        * Remove RFC822 comments
-        *
-        * @access protected
-        * @param string $data Data to strip comments from
-        * @return string Comment stripped string
-        */
-       public function remove_rfc2822_comments($string)
-       {
-               $string = (string) $string;
-               $position = 0;
-               $length = strlen($string);
-               $depth = 0;
-
-               $output = '';
-
-               while ($position < $length && ($pos = strpos($string, '(', $position)) !== false)
-               {
-                       $output .= substr($string, $position, $pos - $position);
-                       $position = $pos + 1;
-                       if ($string[$pos - 1] !== '\\')
-                       {
-                               $depth++;
-                               while ($depth && $position < $length)
-                               {
-                                       $position += strcspn($string, '()', $position);
-                                       if ($string[$position - 1] === '\\')
-                                       {
-                                               $position++;
-                                               continue;
-                                       }
-                                       elseif (isset($string[$position]))
-                                       {
-                                               switch ($string[$position])
-                                               {
-                                                       case '(':
-                                                               $depth++;
-                                                               break;
-
-                                                       case ')':
-                                                               $depth--;
-                                                               break;
-                                               }
-                                               $position++;
-                                       }
-                                       else
-                                       {
-                                               break;
-                                       }
-                               }
-                       }
-                       else
-                       {
-                               $output .= '(';
-                       }
-               }
-               $output .= substr($string, $position);
-
-               return $output;
-       }
-
-       /**
-        * Parse RFC2822's date format
-        *
-        * @access protected
-        * @return int Timestamp
-        */
-       public function date_rfc2822($date)
-       {
-               static $pcre;
-               if (!$pcre)
-               {
-                       $wsp = '[\x09\x20]';
-                       $fws = '(?:' . $wsp . '+|' . $wsp . '*(?:\x0D\x0A' . $wsp . '+)+)';
-                       $optional_fws = $fws . '?';
-                       $day_name = $this->day_pcre;
-                       $month = $this->month_pcre;
-                       $day = '([0-9]{1,2})';
-                       $hour = $minute = $second = '([0-9]{2})';
-                       $year = '([0-9]{2,4})';
-                       $num_zone = '([+\-])([0-9]{2})([0-9]{2})';
-                       $character_zone = '([A-Z]{1,5})';
-                       $zone = '(?:' . $num_zone . '|' . $character_zone . ')';
-                       $pcre = '/(?:' . $optional_fws . $day_name . $optional_fws . ',)?' . $optional_fws . $day . $fws . $month . $fws . $year . $fws . $hour . $optional_fws . ':' . $optional_fws . $minute . '(?:' . $optional_fws . ':' . $optional_fws . $second . ')?' . $fws . $zone . '/i';
-               }
-               if (preg_match($pcre, $this->remove_rfc2822_comments($date), $match))
-               {
-                       /*
-                       Capturing subpatterns:
-                       1: Day name
-                       2: Day
-                       3: Month
-                       4: Year
-                       5: Hour
-                       6: Minute
-                       7: Second
-                       8: Timezone ±
-                       9: Timezone hours
-                       10: Timezone minutes
-                       11: Alphabetic timezone
-                       */
-
-                       // Find the month number
-                       $month = $this->month[strtolower($match[3])];
-
-                       // Numeric timezone
-                       if ($match[8] !== '')
-                       {
-                               $timezone = $match[9] * 3600;
-                               $timezone += $match[10] * 60;
-                               if ($match[8] === '-')
-                               {
-                                       $timezone = 0 - $timezone;
-                               }
-                       }
-                       // Character timezone
-                       elseif (isset($this->timezone[strtoupper($match[11])]))
-                       {
-                               $timezone = $this->timezone[strtoupper($match[11])];
-                       }
-                       // Assume everything else to be -0000
-                       else
-                       {
-                               $timezone = 0;
-                       }
-
-                       // Deal with 2/3 digit years
-                       if ($match[4] < 50)
-                       {
-                               $match[4] += 2000;
-                       }
-                       elseif ($match[4] < 1000)
-                       {
-                               $match[4] += 1900;
-                       }
-
-                       // Second is optional, if it is empty set it to zero
-                       if ($match[7] !== '')
-                       {
-                               $second = $match[7];
-                       }
-                       else
-                       {
-                               $second = 0;
-                       }
-
-                       return gmmktime($match[5], $match[6], $second, $month, $match[2], $match[4]) - $timezone;
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       /**
-        * Parse RFC850's date format
-        *
-        * @access protected
-        * @return int Timestamp
-        */
-       public function date_rfc850($date)
-       {
-               static $pcre;
-               if (!$pcre)
-               {
-                       $space = '[\x09\x20]+';
-                       $day_name = $this->day_pcre;
-                       $month = $this->month_pcre;
-                       $day = '([0-9]{1,2})';
-                       $year = $hour = $minute = $second = '([0-9]{2})';
-                       $zone = '([A-Z]{1,5})';
-                       $pcre = '/^' . $day_name . ',' . $space . $day . '-' . $month . '-' . $year . $space . $hour . ':' . $minute . ':' . $second . $space . $zone . '$/i';
-               }
-               if (preg_match($pcre, $date, $match))
-               {
-                       /*
-                       Capturing subpatterns:
-                       1: Day name
-                       2: Day
-                       3: Month
-                       4: Year
-                       5: Hour
-                       6: Minute
-                       7: Second
-                       8: Timezone
-                       */
-
-                       // Month
-                       $month = $this->month[strtolower($match[3])];
-
-                       // Character timezone
-                       if (isset($this->timezone[strtoupper($match[8])]))
-                       {
-                               $timezone = $this->timezone[strtoupper($match[8])];
-                       }
-                       // Assume everything else to be -0000
-                       else
-                       {
-                               $timezone = 0;
-                       }
-
-                       // Deal with 2 digit year
-                       if ($match[4] < 50)
-                       {
-                               $match[4] += 2000;
-                       }
-                       else
-                       {
-                               $match[4] += 1900;
-                       }
-
-                       return gmmktime($match[5], $match[6], $match[7], $month, $match[2], $match[4]) - $timezone;
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       /**
-        * Parse C99's asctime()'s date format
-        *
-        * @access protected
-        * @return int Timestamp
-        */
-       public function date_asctime($date)
-       {
-               static $pcre;
-               if (!$pcre)
-               {
-                       $space = '[\x09\x20]+';
-                       $wday_name = $this->day_pcre;
-                       $mon_name = $this->month_pcre;
-                       $day = '([0-9]{1,2})';
-                       $hour = $sec = $min = '([0-9]{2})';
-                       $year = '([0-9]{4})';
-                       $terminator = '\x0A?\x00?';
-                       $pcre = '/^' . $wday_name . $space . $mon_name . $space . $day . $space . $hour . ':' . $min . ':' . $sec . $space . $year . $terminator . '$/i';
-               }
-               if (preg_match($pcre, $date, $match))
-               {
-                       /*
-                       Capturing subpatterns:
-                       1: Day name
-                       2: Month
-                       3: Day
-                       4: Hour
-                       5: Minute
-                       6: Second
-                       7: Year
-                       */
-
-                       $month = $this->month[strtolower($match[2])];
-                       return gmmktime($match[4], $match[5], $match[6], $month, $match[3], $match[7]);
-               }
-               else
-               {
-                       return false;
-               }
-       }
-
-       /**
-        * Parse dates using strtotime()
-        *
-        * @access protected
-        * @return int Timestamp
-        */
-       public function date_strtotime($date)
-       {
-               $strtotime = strtotime($date);
-               if ($strtotime === -1 || $strtotime === false)
-               {
-                       return false;
-               }
-               else
-               {
-                       return $strtotime;
-               }
-       }
-}
-
-/**
- * Parses XML into something sane
- *
- *
- * This class can be overloaded with {@see SimplePie::set_parser_class()}
- *
- * @package SimplePie
- * @subpackage Parsing
- */
-class SimplePie_Parser
-{
-       var $error_code;
-       var $error_string;
-       var $current_line;
-       var $current_column;
-       var $current_byte;
-       var $separator = ' ';
-       var $namespace = array('');
-       var $element = array('');
-       var $xml_base = array('');
-       var $xml_base_explicit = array(false);
-       var $xml_lang = array('');
-       var $data = array();
-       var $datas = array(array());
-       var $current_xhtml_construct = -1;
-       var $encoding;
-       protected $registry;
-
-       public function set_registry(SimplePie_Registry $registry)
-       {
-               $this->registry = $registry;
-       }
-
-       public function parse(&$data, $encoding)
-       {
-               // Use UTF-8 if we get passed US-ASCII, as every US-ASCII character is a UTF-8 character
-               if (strtoupper($encoding) === 'US-ASCII')
-               {
-                       $this->encoding = 'UTF-8';
-               }
-               else
-               {
-                       $this->encoding = $encoding;
-               }
-
-               // Strip BOM:
-               // UTF-32 Big Endian BOM
-               if (substr($data, 0, 4) === "\x00\x00\xFE\xFF")
-               {
-                       $data = substr($data, 4);
-               }
-               // UTF-32 Little Endian BOM
-               elseif (substr($data, 0, 4) === "\xFF\xFE\x00\x00")
-               {
-                       $data = substr($data, 4);
-               }
-               // UTF-16 Big Endian BOM
-               elseif (substr($data, 0, 2) === "\xFE\xFF")
-               {
-                       $data = substr($data, 2);
-               }
-               // UTF-16 Little Endian BOM
-               elseif (substr($data, 0, 2) === "\xFF\xFE")
-               {
-                       $data = substr($data, 2);
-               }
-               // UTF-8 BOM
-               elseif (substr($data, 0, 3) === "\xEF\xBB\xBF")
-               {
-                       $data = substr($data, 3);
-               }
-
-               if (substr($data, 0, 5) === '<?xml' && strspn(substr($data, 5, 1), "\x09\x0A\x0D\x20") && ($pos = strpos($data, '?>')) !== false)
-               {
-                       $declaration = $this->registry->create('XML_Declaration_Parser', array(substr($data, 5, $pos - 5)));
-                       if ($declaration->parse())
-                       {
-                               $data = substr($data, $pos + 2);
-                               $data = '<?xml version="' . $declaration->version . '" encoding="' . $encoding . '" standalone="' . (($declaration->standalone) ? 'yes' : 'no') . '"?>' . $data;
-                       }
-                       else
-                       {
-                               $this->error_string = 'SimplePie bug! Please report this!';
-                               return false;
-                       }
-               }
-
-               $return = true;
-
-               static $xml_is_sane = null;
-               if ($xml_is_sane === null)
-               {
-                       $parser_check = xml_parser_create();
-                       xml_parse_into_struct($parser_check, '<foo>&amp;</foo>', $values);
-                       xml_parser_free($parser_check);
-                       $xml_is_sane = isset($values[0]['value']);
-               }
-
-               // Create the parser
-               if ($xml_is_sane)
-               {
-                       $xml = xml_parser_create_ns($this->encoding, $this->separator);
-                       xml_parser_set_option($xml, XML_OPTION_SKIP_WHITE, 1);
-                       xml_parser_set_option($xml, XML_OPTION_CASE_FOLDING, 0);
-                       xml_set_object($xml, $this);
-                       xml_set_character_data_handler($xml, 'cdata');
-                       xml_set_element_handler($xml, 'tag_open', 'tag_close');
-
-                       // Parse!
-                       if (!xml_parse($xml, $data, true))
-                       {
-                               $this->error_code = xml_get_error_code($xml);
-                               $this->error_string = xml_error_string($this->error_code);
-                               $return = false;
-                       }
-                       $this->current_line = xml_get_current_line_number($xml);
-                       $this->current_column = xml_get_current_column_number($xml);
-                       $this->current_byte = xml_get_current_byte_index($xml);
-                       xml_parser_free($xml);
-                       return $return;
-               }
-               else
-               {
-                       libxml_clear_errors();
-                       $xml = new XMLReader();
-                       $xml->xml($data);
-                       while (@$xml->read())
-                       {
-                               switch ($xml->nodeType)
-                               {
-
-                                       case constant('XMLReader::END_ELEMENT'):
-                                               if ($xml->namespaceURI !== '')
-                                               {
-                                                       $tagName = $xml->namespaceURI . $this->separator . $xml->localName;
-                                               }
-                                               else
-                                               {
-                                                       $tagName = $xml->localName;
-                                               }
-                                               $this->tag_close(null, $tagName);
-                                               break;
-                                       case constant('XMLReader::ELEMENT'):
-                                               $empty = $xml->isEmptyElement;
-                                               if ($xml->namespaceURI !== '')
-                                               {
-                                                       $tagName = $xml->namespaceURI . $this->separator . $xml->localName;
-                                               }
-                                               else
-                                               {
-                                                       $tagName = $xml->localName;
-                                               }
-                                               $attributes = array();
-                                               while ($xml->moveToNextAttribute())
-                                               {
-                                                       if ($xml->namespaceURI !== '')
-                                                       {
-                                                               $attrName = $xml->namespaceURI . $this->separator . $xml->localName;
-                                                       }
-                                                       else
-                                                       {
-                                                               $attrName = $xml->localName;
-                                                       }
-                                                       $attributes[$attrName] = $xml->value;
-                                               }
-                                               $this->tag_open(null, $tagName, $attributes);
-                                               if ($empty)
-                                               {
-                                                       $this->tag_close(null, $tagName);
-                                               }
-                                               break;
-                                       case constant('XMLReader::TEXT'):
-
-                                       case constant('XMLReader::CDATA'):
-                                               $this->cdata(null, $xml->value);
-                                               break;
-                               }
-                       }
-                       if ($error = libxml_get_last_error())
-                       {
-                               $this->error_code = $error->code;
-                               $this->error_string = $error->message;
-                               $this->current_line = $error->line;
-                               $this->current_column = $error->column;
-                               return false;
-                       }
-                       else
-                       {
-                               return true;
-                       }
-               }
-       }
-
-       public function get_error_code()
-       {
-               return $this->error_code;
-       }
-
-       public function get_error_string()
-       {
-               return $this->error_string;
-       }
-
-       public function get_current_line()
-       {
-               return $this->current_line;
-       }
-
-       public function get_current_column()
-       {
-               return $this->current_column;
-       }
-
-       public function get_current_byte()
-       {
-               return $this->current_byte;
-       }
-
-       public function get_data()
-       {
-               return $this->data;
-       }
-
-       public function tag_open($parser, $tag, $attributes)
-       {
-               list($this->namespace[], $this->element[]) = $this->split_ns($tag);
-
-               $attribs = array();
-               foreach ($attributes as $name => $value)
-               {
-                       list($attrib_namespace, $attribute) = $this->split_ns($name);
-                       $attribs[$attrib_namespace][$attribute] = $value;
-               }
-
-               if (isset($attribs[SIMPLEPIE_NAMESPACE_XML]['base']))
-               {
-                       $base = $this->registry->call('Misc', 'absolutize_url', array($attribs[SIMPLEPIE_NAMESPACE_XML]['base'], end($this->xml_base)));
-                       if ($base !== false)
-                       {
-                               $this->xml_base[] = $base;
-                               $this->xml_base_explicit[] = true;
-                       }
-               }
-               else
-               {
-                       $this->xml_base[] = end($this->xml_base);
-                       $this->xml_base_explicit[] = end($this->xml_base_explicit);
-               }
-
-               if (isset($attribs[SIMPLEPIE_NAMESPACE_XML]['lang']))
-               {
-                       $this->xml_lang[] = $attribs[SIMPLEPIE_NAMESPACE_XML]['lang'];
-               }
-               else
-               {
-                       $this->xml_lang[] = end($this->xml_lang);
-               }
-
-               if ($this->current_xhtml_construct >= 0)
-               {
-                       $this->current_xhtml_construct++;
-                       if (end($this->namespace) === SIMPLEPIE_NAMESPACE_XHTML)
-                       {
-                               $this->data['data'] .= '<' . end($this->element);
-                               if (isset($attribs['']))
-                               {
-                                       foreach ($attribs[''] as $name => $value)
-                                       {
-                                               $this->data['data'] .= ' ' . $name . '="' . htmlspecialchars($value, ENT_COMPAT, $this->encoding) . '"';
-                                       }
-                               }
-                               $this->data['data'] .= '>';
-                       }
-               }
-               else
-               {
-                       $this->datas[] =& $this->data;
-                       $this->data =& $this->data['child'][end($this->namespace)][end($this->element)][];
-                       $this->data = array('data' => '', 'attribs' => $attribs, 'xml_base' => end($this->xml_base), 'xml_base_explicit' => end($this->xml_base_explicit), 'xml_lang' => end($this->xml_lang));
-                       if ((end($this->namespace) === SIMPLEPIE_NAMESPACE_ATOM_03 && in_array(end($this->element), array('title', 'tagline', 'copyright', 'info', 'summary', 'content')) && isset($attribs['']['mode']) && $attribs['']['mode'] === 'xml')
-                       || (end($this->namespace) === SIMPLEPIE_NAMESPACE_ATOM_10 && in_array(end($this->element), array('rights', 'subtitle', 'summary', 'info', 'title', 'content')) && isset($attribs['']['type']) && $attribs['']['type'] === 'xhtml')
-                       || (end($this->namespace) === SIMPLEPIE_NAMESPACE_RSS_20 && in_array(end($this->element), array('title')))
-                       || (end($this->namespace) === SIMPLEPIE_NAMESPACE_RSS_090 && in_array(end($this->element), array('title')))
-                       || (end($this->namespace) === SIMPLEPIE_NAMESPACE_RSS_10 && in_array(end($this->element), array('title'))))
-                       {
-                               $this->current_xhtml_construct = 0;
-                       }
-               }
-       }
-
-       public function cdata($parser, $cdata)
-       {
-               if ($this->current_xhtml_construct >= 0)
-               {
-                       $this->data['data'] .= htmlspecialchars($cdata, ENT_QUOTES, $this->encoding);
-               }
-               else
-               {
-                       $this->data['data'] .= $cdata;
-               }
-       }
-
-       public function tag_close($parser, $tag)
-       {
-               if ($this->current_xhtml_construct >= 0)
-               {
-                       $this->current_xhtml_construct--;
-                       if (end($this->namespace) === SIMPLEPIE_NAMESPACE_XHTML && !in_array(end($this->element), array('area', 'base', 'basefont', 'br', 'col', 'frame', 'hr', 'img', 'input', 'isindex', 'link', 'meta', 'param')))
-                       {
-                               $this->data['data'] .= '</' . end($this->element) . '>';
-                       }
-               }
-               if ($this->current_xhtml_construct === -1)
-               {
-                       $this->data =& $this->datas[count($this->datas) - 1];
-                       array_pop($this->datas);
-               }
-
-               array_pop($this->element);
-               array_pop($this->namespace);
-               array_pop($this->xml_base);
-               array_pop($this->xml_base_explicit);
-               array_pop($this->xml_lang);
-       }
-
-       public function split_ns($string)
-       {
-               static $cache = array();
-               if (!isset($cache[$string]))
-               {
-                       if ($pos = strpos($string, $this->separator))
-                       {
-                               static $separator_length;
-                               if (!$separator_length)
-                               {
-                                       $separator_length = strlen($this->separator);
-                               }
-                               $namespace = substr($string, 0, $pos);
-                               $local_name = substr($string, $pos + $separator_length);
-                               if (strtolower($namespace) === SIMPLEPIE_NAMESPACE_ITUNES)
-                               {
-                                       $namespace = SIMPLEPIE_NAMESPACE_ITUNES;
-                               }
-
-                               // Normalize the Media RSS namespaces
-                               if ($namespace === SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG ||
-                                       $namespace === SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG2 ||
-                                       $namespace === SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG3 ||
-                                       $namespace === SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG4 ||
-                                       $namespace === SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG5 )
-                               {
-                                       $namespace = SIMPLEPIE_NAMESPACE_MEDIARSS;
-                               }
-                               $cache[$string] = array($namespace, $local_name);
-                       }
-                       else
-                       {
-                               $cache[$string] = array('', $string);
-                       }
-               }
-               return $cache[$string];
-       }
-}
-
-/**
- * Handles `<media:rating>` or `<itunes:explicit>` tags as defined in Media RSS and iTunes RSS respectively
- *
- * Used by {@see SimplePie_Enclosure::get_rating()} and {@see SimplePie_Enclosure::get_ratings()}
- *
- * This class can be overloaded with {@see SimplePie::set_rating_class()}
- *
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie_Rating
-{
-       /**
-        * Rating scheme
-        *
-        * @var string
-        * @see get_scheme()
-        */
-       var $scheme;
-
-       /**
-        * Rating value
-        *
-        * @var string
-        * @see get_value()
-        */
-       var $value;
-
-       /**
-        * Constructor, used to input the data
-        *
-        * For documentation on all the parameters, see the corresponding
-        * properties and their accessors
-        */
-       public function __construct($scheme = null, $value = null)
-       {
-               $this->scheme = $scheme;
-               $this->value = $value;
-       }
-
-       /**
-        * String-ified version
-        *
-        * @return string
-        */
-       public function __toString()
-       {
-               // There is no $this->data here
-               return md5(serialize($this));
-       }
-
-       /**
-        * Get the organizational scheme for the rating
-        *
-        * @return string|null
-        */
-       public function get_scheme()
-       {
-               if ($this->scheme !== null)
-               {
-                       return $this->scheme;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the value of the rating
-        *
-        * @return string|null
-        */
-       public function get_value()
-       {
-               if ($this->value !== null)
-               {
-                       return $this->value;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-}
-
-/**
- * Handles creating objects and calling methods
- *
- * Access this via {@see SimplePie::get_registry()}
- *
- * @package SimplePie
- */
-class SimplePie_Registry
-{
-       /**
-        * Default class mapping
-        *
-        * Overriding classes *must* subclass these.
-        *
-        * @var array
-        */
-       protected $default = array(
-               'Cache' => 'SimplePie_Cache',
-               'Locator' => 'SimplePie_Locator',
-               'Parser' => 'SimplePie_Parser',
-               'File' => 'SimplePie_File',
-               'Sanitize' => 'SimplePie_Sanitize',
-               'Item' => 'SimplePie_Item',
-               'Author' => 'SimplePie_Author',
-               'Category' => 'SimplePie_Category',
-               'Enclosure' => 'SimplePie_Enclosure',
-               'Caption' => 'SimplePie_Caption',
-               'Copyright' => 'SimplePie_Copyright',
-               'Credit' => 'SimplePie_Credit',
-               'Rating' => 'SimplePie_Rating',
-               'Restriction' => 'SimplePie_Restriction',
-               'Content_Type_Sniffer' => 'SimplePie_Content_Type_Sniffer',
-               'Source' => 'SimplePie_Source',
-               'Misc' => 'SimplePie_Misc',
-               'XML_Declaration_Parser' => 'SimplePie_XML_Declaration_Parser',
-               'Parse_Date' => 'SimplePie_Parse_Date',
-       );
-
-       /**
-        * Class mapping
-        *
-        * @see register()
-        * @var array
-        */
-       protected $classes = array();
-
-       /**
-        * Legacy classes
-        *
-        * @see register()
-        * @var array
-        */
-       protected $legacy = array();
-
-       /**
-        * Constructor
-        *
-        * No-op
-        */
-       public function __construct() { }
-
-       /**
-        * Register a class
-        *
-        * @param string $type See {@see $default} for names
-        * @param string $class Class name, must subclass the corresponding default
-        * @param bool $legacy Whether to enable legacy support for this class
-        * @return bool Successfulness
-        */
-       public function register($type, $class, $legacy = false)
-       {
-               if (!is_subclass_of($class, $this->default[$type]))
-               {
-                       return false;
-               }
-
-               $this->classes[$type] = $class;
-
-               if ($legacy)
-               {
-                       $this->legacy[] = $class;
-               }
-
-               return true;
-       }
-
-       /**
-        * Get the class registered for a type
-        *
-        * Where possible, use {@see create()} or {@see call()} instead
-        *
-        * @param string $type
-        * @return string|null
-        */
-       public function get_class($type)
-       {
-               if (!empty($this->classes[$type]))
-               {
-                       return $this->classes[$type];
-               }
-               if (!empty($this->default[$type]))
-               {
-                       return $this->default[$type];
-               }
-
-               return null;
-       }
-
-       /**
-        * Create a new instance of a given type
-        *
-        * @param string $type
-        * @param array $parameters Parameters to pass to the constructor
-        * @return object Instance of class
-        */
-       public function &create($type, $parameters = array())
-       {
-               $class = $this->get_class($type);
-
-               if (in_array($class, $this->legacy))
-               {
-                       switch ($type)
-                       {
-                               case 'locator':
-                                       // Legacy: file, timeout, useragent, file_class, max_checked_feeds, content_type_sniffer_class
-                                       // Specified: file, timeout, useragent, max_checked_feeds
-                                       $replacement = array($this->get_class('file'), $parameters[3], $this->get_class('content_type_sniffer'));
-                                       array_splice($parameters, 3, 1, $replacement);
-                                       break;
-                       }
-               }
-
-               if (!method_exists($class, '__construct'))
-               {
-                       $instance = new $class;
-               }
-               else
-               {
-                       $reflector = new ReflectionClass($class);
-                       $instance = $reflector->newInstanceArgs($parameters);
-               }
-
-               if (method_exists($instance, 'set_registry'))
-               {
-                       $instance->set_registry($this);
-               }
-               return $instance;
-       }
-
-       /**
-        * Call a static method for a type
-        *
-        * @param string $type
-        * @param string $method
-        * @param array $parameters
-        * @return mixed
-        */
-       public function &call($type, $method, $parameters = array())
-       {
-               $class = $this->get_class($type);
-
-               if (in_array($class, $this->legacy))
-               {
-                       switch ($type)
-                       {
-                               case 'Cache':
-                                       // For backwards compatibility with old non-static
-                                       // Cache::create() methods
-                                       if ($method === 'get_handler')
-                                       {
-                                               $result = @call_user_func_array(array($class, 'create'), $parameters);
-                                               return $result;
-                                       }
-                                       break;
-                       }
-               }
-
-               $result = call_user_func_array(array($class, $method), $parameters);
-               return $result;
-       }
-}
-
-/**
- * Handles `<media:restriction>` as defined in Media RSS
- *
- * Used by {@see SimplePie_Enclosure::get_restriction()} and {@see SimplePie_Enclosure::get_restrictions()}
- *
- * This class can be overloaded with {@see SimplePie::set_restriction_class()}
- *
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie_Restriction
-{
-       /**
-        * Relationship ('allow'/'deny')
-        *
-        * @var string
-        * @see get_relationship()
-        */
-       var $relationship;
-
-       /**
-        * Type of restriction
-        *
-        * @var string
-        * @see get_type()
-        */
-       var $type;
-
-       /**
-        * Restricted values
-        *
-        * @var string
-        * @see get_value()
-        */
-       var $value;
-
-       /**
-        * Constructor, used to input the data
-        *
-        * For documentation on all the parameters, see the corresponding
-        * properties and their accessors
-        */
-       public function __construct($relationship = null, $type = null, $value = null)
-       {
-               $this->relationship = $relationship;
-               $this->type = $type;
-               $this->value = $value;
-       }
-
-       /**
-        * String-ified version
-        *
-        * @return string
-        */
-       public function __toString()
-       {
-               // There is no $this->data here
-               return md5(serialize($this));
-       }
-
-       /**
-        * Get the relationship
-        *
-        * @return string|null Either 'allow' or 'deny'
-        */
-       public function get_relationship()
-       {
-               if ($this->relationship !== null)
-               {
-                       return $this->relationship;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the type
-        *
-        * @return string|null
-        */
-       public function get_type()
-       {
-               if ($this->type !== null)
-               {
-                       return $this->type;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Get the list of restricted things
-        *
-        * @return string|null
-        */
-       public function get_value()
-       {
-               if ($this->value !== null)
-               {
-                       return $this->value;
-               }
-               else
-               {
-                       return null;
-               }
-       }
-}
-
-/**
- * Used for data cleanup and post-processing
- *
- *
- * This class can be overloaded with {@see SimplePie::set_sanitize_class()}
- *
- * @package SimplePie
- * @todo Move to using an actual HTML parser (this will allow tags to be properly stripped, and to switch between HTML and XHTML), this will also make it easier to shorten a string while preserving HTML tags
- */
-class SimplePie_Sanitize
-{
-       // Private vars
-       var $base;
-
-       // Options
-       var $remove_div = true;
-       var $image_handler = '';
-       var $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style');
-       var $encode_instead_of_strip = false;
-       var $strip_attributes = array('bgsound', 'class', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc');
-       var $strip_comments = false;
-       var $output_encoding = 'UTF-8';
-       var $enable_cache = true;
-       var $cache_location = './cache';
-       var $cache_name_function = 'md5';
-       var $timeout = 10;
-       var $useragent = '';
-       var $force_fsockopen = false;
-       var $replace_url_attributes = null;
-
-       public function __construct()
-       {
-               // Set defaults
-               $this->set_url_replacements(null);
-       }
-
-       public function remove_div($enable = true)
-       {
-               $this->remove_div = (bool) $enable;
-       }
-
-       public function set_image_handler($page = false)
-       {
-               if ($page)
-               {
-                       $this->image_handler = (string) $page;
-               }
-               else
-               {
-                       $this->image_handler = false;
-               }
-       }
-
-       public function set_registry(SimplePie_Registry $registry)
-       {
-               $this->registry = $registry;
-       }
-
-       public function pass_cache_data($enable_cache = true, $cache_location = './cache', $cache_name_function = 'md5', $cache_class = 'SimplePie_Cache')
-       {
-               if (isset($enable_cache))
-               {
-                       $this->enable_cache = (bool) $enable_cache;
-               }
-
-               if ($cache_location)
-               {
-                       $this->cache_location = (string) $cache_location;
-               }
-
-               if ($cache_name_function)
-               {
-                       $this->cache_name_function = (string) $cache_name_function;
-               }
-       }
-
-       public function pass_file_data($file_class = 'SimplePie_File', $timeout = 10, $useragent = '', $force_fsockopen = false)
-       {
-               if ($timeout)
-               {
-                       $this->timeout = (string) $timeout;
-               }
-
-               if ($useragent)
-               {
-                       $this->useragent = (string) $useragent;
-               }
-
-               if ($force_fsockopen)
-               {
-                       $this->force_fsockopen = (string) $force_fsockopen;
-               }
-       }
-
-       public function strip_htmltags($tags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style'))
-       {
-               if ($tags)
-               {
-                       if (is_array($tags))
-                       {
-                               $this->strip_htmltags = $tags;
-                       }
-                       else
-                       {
-                               $this->strip_htmltags = explode(',', $tags);
-                       }
-               }
-               else
-               {
-                       $this->strip_htmltags = false;
-               }
-       }
-
-       public function encode_instead_of_strip($encode = false)
-       {
-               $this->encode_instead_of_strip = (bool) $encode;
-       }
-
-       public function strip_attributes($attribs = array('bgsound', 'class', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc'))
-       {
-               if ($attribs)
-               {
-                       if (is_array($attribs))
-                       {
-                               $this->strip_attributes = $attribs;
-                       }
-                       else
-                       {
-                               $this->strip_attributes = explode(',', $attribs);
-                       }
-               }
-               else
-               {
-                       $this->strip_attributes = false;
-               }
-       }
-
-       public function strip_comments($strip = false)
-       {
-               $this->strip_comments = (bool) $strip;
-       }
-
-       public function set_output_encoding($encoding = 'UTF-8')
-       {
-               $this->output_encoding = (string) $encoding;
-       }
-
-       /**
-        * Set element/attribute key/value pairs of HTML attributes
-        * containing URLs that need to be resolved relative to the feed
-        *
-        * Defaults to |a|@href, |area|@href, |blockquote|@cite, |del|@cite,
-        * |form|@action, |img|@longdesc, |img|@src, |input|@src, |ins|@cite,
-        * |q|@cite
-        *
-        * @since 1.0
-        * @param array|null $element_attribute Element/attribute key/value pairs, null for default
-        */
-       public function set_url_replacements($element_attribute = null)
-       {
-               if ($element_attribute === null)
-               {
-                       $element_attribute = array(
-                               'a' => 'href',
-                               'area' => 'href',
-                               'blockquote' => 'cite',
-                               'del' => 'cite',
-                               'form' => 'action',
-                               'img' => array(
-                                       'longdesc',
-                                       'src'
-                               ),
-                               'input' => 'src',
-                               'ins' => 'cite',
-                               'q' => 'cite'
-                       );
-               }
-               $this->replace_url_attributes = (array) $element_attribute;
-       }
-
-       public function sanitize($data, $type, $base = '')
-       {
-               $data = trim($data);
-               if ($data !== '' || $type & SIMPLEPIE_CONSTRUCT_IRI)
-               {
-                       if ($type & SIMPLEPIE_CONSTRUCT_MAYBE_HTML)
-                       {
-                               if (preg_match('/(&(#(x[0-9a-fA-F]+|[0-9]+)|[a-zA-Z0-9]+)|<\/[A-Za-z][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E]*' . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . '>)/', $data))
-                               {
-                                       $type |= SIMPLEPIE_CONSTRUCT_HTML;
-                               }
-                               else
-                               {
-                                       $type |= SIMPLEPIE_CONSTRUCT_TEXT;
-                               }
-                       }
-
-                       if ($type & SIMPLEPIE_CONSTRUCT_BASE64)
-                       {
-                               $data = base64_decode($data);
-                       }
-
-                       if ($type & (SIMPLEPIE_CONSTRUCT_HTML | SIMPLEPIE_CONSTRUCT_XHTML))
-                       {
-
-                               $document = new DOMDocument();
-                               $document->encoding = 'UTF-8';
-                               $data = $this->preprocess($data, $type);
-
-                               set_error_handler(array('SimplePie_Misc', 'silence_errors'));
-                               $document->loadHTML($data);
-                               restore_error_handler();
-
-                               // Strip comments
-                               if ($this->strip_comments)
-                               {
-                                       $xpath = new DOMXPath($document);
-                                       $comments = $xpath->query('//comment()');
-
-                                       foreach ($comments as $comment)
-                                       {
-                                               $comment->parentNode->removeChild($comment);
-                                       }
-                               }
-
-                               // Strip out HTML tags and attributes that might cause various security problems.
-                               // Based on recommendations by Mark Pilgrim at:
-                               // http://diveintomark.org/archives/2003/06/12/how_to_consume_rss_safely
-                               if ($this->strip_htmltags)
-                               {
-                                       foreach ($this->strip_htmltags as $tag)
-                                       {
-                                               $this->strip_tag($tag, $document, $type);
-                                       }
-                               }
-
-                               if ($this->strip_attributes)
-                               {
-                                       foreach ($this->strip_attributes as $attrib)
-                                       {
-                                               $this->strip_attr($attrib, $document);
-                                       }
-                               }
-
-                               // Replace relative URLs
-                               $this->base = $base;
-                               foreach ($this->replace_url_attributes as $element => $attributes)
-                               {
-                                       $this->replace_urls($document, $element, $attributes);
-                               }
-
-                               // If image handling (caching, etc.) is enabled, cache and rewrite all the image tags.
-                               if (isset($this->image_handler) && ((string) $this->image_handler) !== '' && $this->enable_cache)
-                               {
-                                       $images = $document->getElementsByTagName('img');
-                                       foreach ($images as $img)
-                                       {
-                                               if ($img->hasAttribute('src'))
-                                               {
-                                                       $image_url = call_user_func($this->cache_name_function, $img->getAttribute('src'));
-                                                       $cache = $this->registry->call('Cache', 'get_handler', array($this->cache_location, $image_url, 'spi'));
-
-                                                       if ($cache->load())
-                                                       {
-                                                               $img->setAttribute('src', $this->image_handler . $image_url);
-                                                       }
-                                                       else
-                                                       {
-                                                               $file = $this->registry->create('File', array($img['attribs']['src']['data'], $this->timeout, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen));
-                                                               $headers = $file->headers;
-
-                                                               if ($file->success && ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)))
-                                                               {
-                                                                       if ($cache->save(array('headers' => $file->headers, 'body' => $file->body)))
-                                                                       {
-                                                                               $img->setAttribute('src', $this->image_handler . $image_url);
-                                                                       }
-                                                                       else
-                                                                       {
-                                                                               trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
-                                                                       }
-                                                               }
-                                                       }
-                                               }
-                                       }
-                               }
-
-                               // Remove the DOCTYPE
-                               // Seems to cause segfaulting if we don't do this
-                               if ($document->firstChild instanceof DOMDocumentType)
-                               {
-                                       $document->removeChild($document->firstChild);
-                               }
-
-                               // Move everything from the body to the root
-                               $real_body = $document->getElementsByTagName('body')->item(0)->childNodes->item(0);
-                               $document->replaceChild($real_body, $document->firstChild);
-
-                               // Finally, convert to a HTML string
-                               $data = trim($document->saveHTML());
-
-                               if ($this->remove_div)
-                               {
-                                       $data = preg_replace('/^<div' . SIMPLEPIE_PCRE_XML_ATTRIBUTE . '>/', '', $data);
-                                       $data = preg_replace('/<\/div>$/', '', $data);
-                               }
-                               else
-                               {
-                                       $data = preg_replace('/^<div' . SIMPLEPIE_PCRE_XML_ATTRIBUTE . '>/', '<div>', $data);
-                               }
-                       }
-
-                       if ($type & SIMPLEPIE_CONSTRUCT_IRI)
-                       {
-                               $absolute = $this->registry->call('Misc', 'absolutize_url', array($data, $base));
-                               if ($absolute !== false)
-                               {
-                                       $data = $absolute;
-                               }
-                       }
-
-                       if ($type & (SIMPLEPIE_CONSTRUCT_TEXT | SIMPLEPIE_CONSTRUCT_IRI))
-                       {
-                               $data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8');
-                       }
-
-                       if ($this->output_encoding !== 'UTF-8')
-                       {
-                               $data = $this->registry->call('Misc', 'change_encoding', array($data, 'UTF-8', $this->output_encoding));
-                       }
-               }
-               return $data;
-       }
-
-       protected function preprocess($html, $type)
-       {
-               $ret = '';
-               if ($type & ~SIMPLEPIE_CONSTRUCT_XHTML)
-               {
-                       // Atom XHTML constructs are wrapped with a div by default
-                       // Note: No protection if $html contains a stray </div>!
-                       $html = '<div>' . $html . '</div>';
-                       $ret .= '<!DOCTYPE html>';
-                       $content_type = 'text/html';
-               }
-               else
-               {
-                       $ret .= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
-                       $content_type = 'application/xhtml+xml';
-               }
-
-               $ret .= '<html><head>';
-               $ret .= '<meta http-equiv="Content-Type" content="' . $content_type . '; charset=utf-8" />';
-               $ret .= '</head><body>' . $html . '</body></html>';
-               return $ret;
-       }
-
-       public function replace_urls($document, $tag, $attributes)
-       {
-               if (!is_array($attributes))
-               {
-                       $attributes = array($attributes);
-               }
-
-               if (!is_array($this->strip_htmltags) || !in_array($tag, $this->strip_htmltags))
-               {
-                       $elements = $document->getElementsByTagName($tag);
-                       foreach ($elements as $element)
-                       {
-                               foreach ($attributes as $attribute)
-                               {
-                                       if ($element->hasAttribute($attribute))
-                                       {
-                                               $value = $this->registry->call('Misc', 'absolutize_url', array($element->getAttribute($attribute), $this->base));
-                                               if ($value !== false)
-                                               {
-                                                       $element->setAttribute($attribute, $value);
-                                               }
-                                       }
-                               }
-                       }
-               }
-       }
-
-       public function do_strip_htmltags($match)
-       {
-               if ($this->encode_instead_of_strip)
-               {
-                       if (isset($match[4]) && !in_array(strtolower($match[1]), array('script', 'style')))
-                       {
-                               $match[1] = htmlspecialchars($match[1], ENT_COMPAT, 'UTF-8');
-                               $match[2] = htmlspecialchars($match[2], ENT_COMPAT, 'UTF-8');
-                               return "&lt;$match[1]$match[2]&gt;$match[3]&lt;/$match[1]&gt;";
-                       }
-                       else
-                       {
-                               return htmlspecialchars($match[0], ENT_COMPAT, 'UTF-8');
-                       }
-               }
-               elseif (isset($match[4]) && !in_array(strtolower($match[1]), array('script', 'style')))
-               {
-                       return $match[4];
-               }
-               else
-               {
-                       return '';
-               }
-       }
-
-       protected function strip_tag($tag, $document, $type)
-       {
-               $xpath = new DOMXPath($document);
-               $elements = $xpath->query('body//' . $tag);
-               if ($this->encode_instead_of_strip)
-               {
-                       foreach ($elements as $element)
-                       {
-                               $fragment = $document->createDocumentFragment();
-
-                               // For elements which aren't script or style, include the tag itself
-                               if (!in_array($tag, array('script', 'style')))
-                               {
-                                       $text = '<' . $tag;
-                                       if ($element->hasAttributes())
-                                       {
-                                               $attrs = array();
-                                               foreach ($element->attributes as $name => $attr)
-                                               {
-                                                       $value = $attr->value;
-
-                                                       // In XHTML, empty values should never exist, so we repeat the value
-                                                       if (empty($value) && ($type & SIMPLEPIE_CONSTRUCT_XHTML))
-                                                       {
-                                                               $value = $name;
-                                                       }
-                                                       // For HTML, empty is fine
-                                                       elseif (empty($value) && ($type & SIMPLEPIE_CONSTRUCT_HTML))
-                                                       {
-                                                               $attrs[] = $name;
-                                                               continue;
-                                                       }
-
-                                                       // Standard attribute text
-                                                       $attrs[] = $name . '="' . $attr->value . '"';
-                                               }
-                                               $text .= ' ' . implode(' ', $attrs);
-                                       }
-                                       $text .= '>';
-                                       $fragment->appendChild(new DOMText($text));
-                               }
-
-                               $number = $element->childNodes->length;
-                               for ($i = $number; $i > 0; $i--)
-                               {
-                                       $child = $element->childNodes->item(0);
-                                       $fragment->appendChild($child);
-                               }
-
-                               if (!in_array($tag, array('script', 'style')))
-                               {
-                                       $fragment->appendChild(new DOMText('</' . $tag . '>'));
-                               }
-
-                               $element->parentNode->replaceChild($fragment, $element);
-                       }
-
-                       return;
-               }
-               elseif (in_array($tag, array('script', 'style')))
-               {
-                       foreach ($elements as $element)
-                       {
-                               $element->parentNode->removeChild($element);
-                       }
-
-                       return;
-               }
-               else
-               {
-                       foreach ($elements as $element)
-                       {
-                               $fragment = $document->createDocumentFragment();
-                               $number = $element->childNodes->length;
-                               for ($i = $number; $i > 0; $i--)
-                               {
-                                       $child = $element->childNodes->item(0);
-                                       $fragment->appendChild($child);
-                               }
-
-                               $element->parentNode->replaceChild($fragment, $element);
-                       }
-               }
-       }
-
-       protected function strip_attr($attrib, $document)
-       {
-               $xpath = new DOMXPath($document);
-               $elements = $xpath->query('//*[@' . $attrib . ']');
-
-               foreach ($elements as $element)
-               {
-                       $element->removeAttribute($attrib);
-               }
-       }
-}
-
-/**
- * Handles `<atom:source>`
- *
- * Used by {@see SimplePie_Item::get_source()}
- *
- * This class can be overloaded with {@see SimplePie::set_source_class()}
- *
- * @package SimplePie
- * @subpackage API
- */
-class SimplePie_Source
-{
-       var $item;
-       var $data = array();
-       protected $registry;
-
-       public function __construct($item, $data)
-       {
-               $this->item = $item;
-               $this->data = $data;
-       }
-
-       public function set_registry(SimplePie_Registry $registry)
-       {
-               $this->registry = $registry;
-       }
-
-       public function __toString()
-       {
-               return md5(serialize($this->data));
-       }
-
-       public function get_source_tags($namespace, $tag)
-       {
-               if (isset($this->data['child'][$namespace][$tag]))
-               {
-                       return $this->data['child'][$namespace][$tag];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_base($element = array())
-       {
-               return $this->item->get_base($element);
-       }
-
-       public function sanitize($data, $type, $base = '')
-       {
-               return $this->item->sanitize($data, $type, $base);
-       }
-
-       public function get_item()
-       {
-               return $this->item;
-       }
-
-       public function get_title()
-       {
-               if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_category($key = 0)
-       {
-               $categories = $this->get_categories();
-               if (isset($categories[$key]))
-               {
-                       return $categories[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_categories()
-       {
-               $categories = array();
-
-               foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
-               {
-                       $term = null;
-                       $scheme = null;
-                       $label = null;
-                       if (isset($category['attribs']['']['term']))
-                       {
-                               $term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($category['attribs']['']['scheme']))
-                       {
-                               $scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($category['attribs']['']['label']))
-                       {
-                               $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       $categories[] = $this->registry->create('Category', array($term, $scheme, $label));
-               }
-               foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
-               {
-                       // This is really the label, but keep this as the term also for BC.
-                       // Label will also work on retrieving because that falls back to term.
-                       $term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       if (isset($category['attribs']['']['domain']))
-                       {
-                               $scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       else
-                       {
-                               $scheme = null;
-                       }
-                       $categories[] = $this->registry->create('Category', array($term, $scheme, null));
-               }
-               foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
-               {
-                       $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-               foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
-               {
-                       $categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-
-               if (!empty($categories))
-               {
-                       return array_unique($categories);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_author($key = 0)
-       {
-               $authors = $this->get_authors();
-               if (isset($authors[$key]))
-               {
-                       return $authors[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_authors()
-       {
-               $authors = array();
-               foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author)
-               {
-                       $name = null;
-                       $uri = null;
-                       $email = null;
-                       if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
-                       {
-                               $uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
-                       }
-                       if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $uri !== null)
-                       {
-                               $authors[] = $this->registry->create('Author', array($name, $uri, $email));
-                       }
-               }
-               if ($author = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
-               {
-                       $name = null;
-                       $url = null;
-                       $email = null;
-                       if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
-                       {
-                               $url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
-                       }
-                       if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $url !== null)
-                       {
-                               $authors[] = $this->registry->create('Author', array($name, $url, $email));
-                       }
-               }
-               foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
-               {
-                       $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-               foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
-               {
-                       $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-               foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
-               {
-                       $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
-               }
-
-               if (!empty($authors))
-               {
-                       return array_unique($authors);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_contributor($key = 0)
-       {
-               $contributors = $this->get_contributors();
-               if (isset($contributors[$key]))
-               {
-                       return $contributors[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_contributors()
-       {
-               $contributors = array();
-               foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'contributor') as $contributor)
-               {
-                       $name = null;
-                       $uri = null;
-                       $email = null;
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
-                       {
-                               $uri = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $uri !== null)
-                       {
-                               $contributors[] = $this->registry->create('Author', array($name, $uri, $email));
-                       }
-               }
-               foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
-               {
-                       $name = null;
-                       $url = null;
-                       $email = null;
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
-                       {
-                               $name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
-                       {
-                               $url = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
-                       }
-                       if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
-                       {
-                               $email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-                       }
-                       if ($name !== null || $email !== null || $url !== null)
-                       {
-                               $contributors[] = $this->registry->create('Author', array($name, $url, $email));
-                       }
-               }
-
-               if (!empty($contributors))
-               {
-                       return array_unique($contributors);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_link($key = 0, $rel = 'alternate')
-       {
-               $links = $this->get_links($rel);
-               if (isset($links[$key]))
-               {
-                       return $links[$key];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       /**
-        * Added for parity between the parent-level and the item/entry-level.
-        */
-       public function get_permalink()
-       {
-               return $this->get_link(0);
-       }
-
-       public function get_links($rel = 'alternate')
-       {
-               if (!isset($this->data['links']))
-               {
-                       $this->data['links'] = array();
-                       if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link'))
-                       {
-                               foreach ($links as $link)
-                               {
-                                       if (isset($link['attribs']['']['href']))
-                                       {
-                                               $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
-                                               $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
-                                       }
-                               }
-                       }
-                       if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link'))
-                       {
-                               foreach ($links as $link)
-                               {
-                                       if (isset($link['attribs']['']['href']))
-                                       {
-                                               $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
-                                               $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
-
-                                       }
-                               }
-                       }
-                       if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
-                       {
-                               $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
-                       }
-                       if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
-                       {
-                               $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
-                       }
-                       if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
-                       {
-                               $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
-                       }
-
-                       $keys = array_keys($this->data['links']);
-                       foreach ($keys as $key)
-                       {
-                               if ($this->registry->call('Misc', 'is_isegment_nz_nc', array($key)))
-                               {
-                                       if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]))
-                                       {
-                                               $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]);
-                                               $this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key];
-                                       }
-                                       else
-                                       {
-                                               $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key];
-                                       }
-                               }
-                               elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY)
-                               {
-                                       $this->data['links'][substr($key, 41)] =& $this->data['links'][$key];
-                               }
-                               $this->data['links'][$key] = array_unique($this->data['links'][$key]);
-                       }
-               }
-
-               if (isset($this->data['links'][$rel]))
-               {
-                       return $this->data['links'][$rel];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_description()
-       {
-               if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'subtitle'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'tagline'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'description'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'summary'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'subtitle'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_copyright()
-       {
-               if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'rights'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'copyright'))
-               {
-                       return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'copyright'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'rights'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'rights'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_language()
-       {
-               if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'language'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'language'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'language'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               elseif (isset($this->data['xml_lang']))
-               {
-                       return $this->sanitize($this->data['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_latitude()
-       {
-               if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lat'))
-               {
-                       return (float) $return[0]['data'];
-               }
-               elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
-               {
-                       return (float) $match[1];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_longitude()
-       {
-               if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'long'))
-               {
-                       return (float) $return[0]['data'];
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lon'))
-               {
-                       return (float) $return[0]['data'];
-               }
-               elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
-               {
-                       return (float) $match[2];
-               }
-               else
-               {
-                       return null;
-               }
-       }
-
-       public function get_image_url()
-       {
-               if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'image'))
-               {
-                       return $this->sanitize($return[0]['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI);
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'logo'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
-               }
-               elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'icon'))
-               {
-                       return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
-               }
-               else
-               {
-                       return null;
-               }
-       }
-}
-
-/**
- * Parses the XML Declaration
- *
- * @package SimplePie
- * @subpackage Parsing
- */
-class SimplePie_XML_Declaration_Parser
-{
-       /**
-        * XML Version
-        *
-        * @access public
-        * @var string
-        */
-       var $version = '1.0';
-
-       /**
-        * Encoding
-        *
-        * @access public
-        * @var string
-        */
-       var $encoding = 'UTF-8';
-
-       /**
-        * Standalone
-        *
-        * @access public
-        * @var bool
-        */
-       var $standalone = false;
-
-       /**
-        * Current state of the state machine
-        *
-        * @access private
-        * @var string
-        */
-       var $state = 'before_version_name';
-
-       /**
-        * Input data
-        *
-        * @access private
-        * @var string
-        */
-       var $data = '';
-
-       /**
-        * Input data length (to avoid calling strlen() everytime this is needed)
-        *
-        * @access private
-        * @var int
-        */
-       var $data_length = 0;
-
-       /**
-        * Current position of the pointer
-        *
-        * @var int
-        * @access private
-        */
-       var $position = 0;
-
-       /**
-        * Create an instance of the class with the input data
-        *
-        * @access public
-        * @param string $data Input data
-        */
-       public function __construct($data)
-       {
-               $this->data = $data;
-               $this->data_length = strlen($this->data);
-       }
-
-       /**
-        * Parse the input data
-        *
-        * @access public
-        * @return bool true on success, false on failure
-        */
-       public function parse()
-       {
-               while ($this->state && $this->state !== 'emit' && $this->has_data())
-               {
-                       $state = $this->state;
-                       $this->$state();
-               }
-               $this->data = '';
-               if ($this->state === 'emit')
-               {
-                       return true;
-               }
-               else
-               {
-                       $this->version = '';
-                       $this->encoding = '';
-                       $this->standalone = '';
-                       return false;
-               }
-       }
-
-       /**
-        * Check whether there is data beyond the pointer
-        *
-        * @access private
-        * @return bool true if there is further data, false if not
-        */
-       public function has_data()
-       {
-               return (bool) ($this->position < $this->data_length);
-       }
-
-       /**
-        * Advance past any whitespace
-        *
-        * @return int Number of whitespace characters passed
-        */
-       public function skip_whitespace()
-       {
-               $whitespace = strspn($this->data, "\x09\x0A\x0D\x20", $this->position);
-               $this->position += $whitespace;
-               return $whitespace;
-       }
-
-       /**
-        * Read value
-        */
-       public function get_value()
-       {
-               $quote = substr($this->data, $this->position, 1);
-               if ($quote === '"' || $quote === "'")
-               {
-                       $this->position++;
-                       $len = strcspn($this->data, $quote, $this->position);
-                       if ($this->has_data())
-                       {
-                               $value = substr($this->data, $this->position, $len);
-                               $this->position += $len + 1;
-                               return $value;
-                       }
-               }
-               return false;
-       }
-
-       public function before_version_name()
-       {
-               if ($this->skip_whitespace())
-               {
-                       $this->state = 'version_name';
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-
-       public function version_name()
-       {
-               if (substr($this->data, $this->position, 7) === 'version')
-               {
-                       $this->position += 7;
-                       $this->skip_whitespace();
-                       $this->state = 'version_equals';
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-
-       public function version_equals()
-       {
-               if (substr($this->data, $this->position, 1) === '=')
-               {
-                       $this->position++;
-                       $this->skip_whitespace();
-                       $this->state = 'version_value';
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-
-       public function version_value()
-       {
-               if ($this->version = $this->get_value())
-               {
-                       $this->skip_whitespace();
-                       if ($this->has_data())
-                       {
-                               $this->state = 'encoding_name';
-                       }
-                       else
-                       {
-                               $this->state = 'emit';
-                       }
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-
-       public function encoding_name()
-       {
-               if (substr($this->data, $this->position, 8) === 'encoding')
-               {
-                       $this->position += 8;
-                       $this->skip_whitespace();
-                       $this->state = 'encoding_equals';
-               }
-               else
-               {
-                       $this->state = 'standalone_name';
-               }
-       }
-
-       public function encoding_equals()
-       {
-               if (substr($this->data, $this->position, 1) === '=')
-               {
-                       $this->position++;
-                       $this->skip_whitespace();
-                       $this->state = 'encoding_value';
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-
-       public function encoding_value()
-       {
-               if ($this->encoding = $this->get_value())
-               {
-                       $this->skip_whitespace();
-                       if ($this->has_data())
-                       {
-                               $this->state = 'standalone_name';
-                       }
-                       else
-                       {
-                               $this->state = 'emit';
-                       }
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-
-       public function standalone_name()
-       {
-               if (substr($this->data, $this->position, 10) === 'standalone')
-               {
-                       $this->position += 10;
-                       $this->skip_whitespace();
-                       $this->state = 'standalone_equals';
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-
-       public function standalone_equals()
-       {
-               if (substr($this->data, $this->position, 1) === '=')
-               {
-                       $this->position++;
-                       $this->skip_whitespace();
-                       $this->state = 'standalone_value';
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-
-       public function standalone_value()
-       {
-               if ($standalone = $this->get_value())
-               {
-                       switch ($standalone)
-                       {
-                               case 'yes':
-                                       $this->standalone = true;
-                                       break;
-
-                               case 'no':
-                                       $this->standalone = false;
-                                       break;
-
-                               default:
-                                       $this->state = false;
-                                       return;
-                       }
-
-                       $this->skip_whitespace();
-                       if ($this->has_data())
-                       {
-                               $this->state = false;
-                       }
-                       else
-                       {
-                               $this->state = 'emit';
-                       }
-               }
-               else
-               {
-                       $this->state = false;
-               }
-       }
-}
-
index a6410560f6ddd7ff6ee10e10d1754c7a97e47ab9..f8ec4d3188a89b00a2f46f843cf69aef7b384d59 100644 (file)
Binary files a/locale/ca_CA/LC_MESSAGES/messages.mo and b/locale/ca_CA/LC_MESSAGES/messages.mo differ
index 936d368ad61ba20aaf310ac5aa70af4280e4aab6..5525d87755894d8008a7b5d9bfbf6f684984e61d 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: 2009-11-19 09:40+0100\n"
 "Last-Translator: Alfred Galitó <bratac@bratac.cat>\n"
 "Language-Team: Català <bratac@bratac.cat>\n"
@@ -90,8 +90,8 @@ msgid "Weekly"
 msgstr "Setmanalment"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Usuari"
 
@@ -159,14 +159,13 @@ msgstr "Ha fallat la sortida de prova de SQL, reviseu la base configuració de l
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -181,14 +180,14 @@ msgstr "Ha fallat la sortida de prova de SQL, reviseu la base configuració de l
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -212,13 +211,13 @@ msgid "All Articles"
 msgstr "Tots els articles"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "Marcats"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "Publicats"
@@ -265,12 +264,11 @@ msgstr "Títol"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Marca'l com a llegit"
 
@@ -312,7 +310,7 @@ msgid "Feed actions:"
 msgstr "Accions sobre els canals:"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Subscriviu-vos al canal"
 
@@ -325,8 +323,8 @@ msgid "Rescore feed"
 msgstr "Canvia la puntuació del canal"
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Dóna't de baixa"
@@ -344,7 +342,7 @@ msgid "Other actions:"
 msgstr "Altres accions:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 #, fuzzy
 msgid "Toggle widescreen mode"
 msgstr "Canvia al mode de reordenació de categories"
@@ -367,52 +365,48 @@ msgid "Keyboard shortcuts help"
 msgstr "Dreceres de teclat"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Surt"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Preferències"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Dreceres de teclat"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Surt de les preferències"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Canals"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Filtres"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "Etiquetes"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Usuaris"
 
-#: prefs.php:132
+#: prefs.php:131
 msgid "System"
 msgstr ""
 
@@ -433,13 +427,13 @@ msgstr "L'administrador ha deshabilitat els registres de nous usuaris."
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Torna a Tiny Tiny RSS"
 
@@ -456,12 +450,12 @@ msgid "Check availability"
 msgstr "Comprova la disponibilitat"
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "Adreça electrònica:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "Quant és dos més dos:"
 
@@ -496,11 +490,11 @@ msgstr "La base de dades de Tiny Tiny RSS està actualitzada."
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Sense categoria"
 
@@ -516,338 +510,337 @@ msgid "No feeds found."
 msgstr "No s'ha trobat cap canal."
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Especial"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Tots els canals"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Articles marcats"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Articles publicats"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Articles nous"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Tots els articles"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 #, fuzzy
 msgid "Archived articles"
 msgstr "Articles mémorisés"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr ""
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Navegació"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 #, fuzzy
 msgid "Open next feed"
 msgstr "Canals generats"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr ""
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 #, fuzzy
 msgid "Open next article"
 msgstr "Mostra el contingut original de l'article"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 #, fuzzy
 msgid "Open previous article"
 msgstr "Mostra el contingut original de l'article"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Mostra el diàleg de cerca"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 #, fuzzy
 msgid "Article"
 msgstr "Tots els articles"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Commuta els marcats"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Commuta els publicats"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Commuta els no llegits"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Edita les etiquetes"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 #, fuzzy
 msgid "Dismiss selected"
 msgstr "Esteu segur que voleu eliminar els articles seleccionats de l'etiqueta?"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 #, fuzzy
 msgid "Dismiss read"
 msgstr "Publica l'article"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 #, fuzzy
 msgid "Open in new window"
 msgstr "Obre l'article en una finestra nova"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 #, fuzzy
 msgid "Mark below as read"
 msgstr "Marca'l com a llegit"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 #, fuzzy
 msgid "Mark above as read"
 msgstr "Marca'l com a llegit"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 #, fuzzy
 msgid "Scroll down"
 msgstr "Fet!"
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr ""
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 #, fuzzy
 msgid "Select article under cursor"
 msgstr "Seleccioneu un article mitjançant el ratolí."
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 #, fuzzy
 msgid "Email article"
 msgstr "Tots els articles"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 #, fuzzy
 msgid "Close/collapse article"
 msgstr "Buida els articles"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 #, fuzzy
 msgid "Toggle article expansion (combined mode)"
 msgstr "Canvia al mode de reordenació de categories"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 #, fuzzy
 msgid "Toggle embed original"
 msgstr "Canvia al mode de reordenació de categories"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 #, fuzzy
 msgid "Article selection"
 msgstr "Accions actives de l'article"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 #, fuzzy
 msgid "Select all articles"
 msgstr "Buida els articles"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 #, fuzzy
 msgid "Select unread"
 msgstr "Purga els articles per llegir"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 #, fuzzy
 msgid "Select starred"
 msgstr "Marca'l com a destacat"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 #, fuzzy
 msgid "Select published"
 msgstr "Purga els articles per llegir"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 #, fuzzy
 msgid "Invert selection"
 msgstr "Accions actives de l'article"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 #, fuzzy
 msgid "Deselect everything"
 msgstr "Buida els articles"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Canal"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 #, fuzzy
 msgid "Refresh current feed"
 msgstr "Actualitza els canals actius"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 #, fuzzy
 msgid "Un/hide read feeds"
 msgstr "Mostra/amaga els canals llegits"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Subscriu-te al canal"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Edita el canal"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 #, fuzzy
 msgid "Reverse headlines"
 msgstr "Inverteix l'ordre de les capçaleres (les més antigues les primeres)"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 #, fuzzy
 msgid "Debug feed update"
 msgstr "S'ha acabat l'actualització dels canals."
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Marca tots els canals com a llegits"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 #, fuzzy
 msgid "Un/collapse current category"
 msgstr "Clica-hi per a reduir la categoria"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 #, fuzzy
 msgid "Toggle combined mode"
 msgstr "Canvia al mode de reordenació de categories"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 #, fuzzy
 msgid "Toggle auto expand in combined mode"
 msgstr "Canvia al mode de reordenació de categories"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 #, fuzzy
 msgid "Go to"
 msgstr "Vés a..."
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 #, fuzzy
 msgid "Fresh"
 msgstr "Actualitza"
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Núvol d'etiquetes"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 #, fuzzy
 msgid "Other"
 msgstr "Altres:"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Crea una etiqueta"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Crea un filtre"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 #, fuzzy
 msgid "Un/collapse sidebar"
 msgstr "Redueix la barra lateral"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 #, fuzzy
 msgid "Show help dialog"
 msgstr "Mostra el diàleg de cerca"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, fuzzy, php-format
 msgid "Search results: %s"
 msgstr "Resultats de la cerca"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "sense etiqueta"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Edita les etiquetes d'aquest article"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 #, fuzzy
 msgid "Originally from:"
 msgstr "Mostra el contingut original de l'article"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 #, fuzzy
 msgid "Feed URL"
 msgstr "Canal"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -857,48 +850,46 @@ msgstr "Canal"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Tanca la finestra"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 #, fuzzy
 msgid "(edit note)"
 msgstr "edita la nota"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "tipus desconegut"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 #, fuzzy
 msgid "Attachments"
 msgstr "Adjuncions:"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr ""
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Usuari:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "Contrasenya:"
 
@@ -915,7 +906,7 @@ msgstr "Fitxer:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 #, fuzzy
 msgid "Default profile"
 msgstr "Nombre maximal d'articles par défaut"
@@ -934,7 +925,6 @@ msgstr ""
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "Registreu-vos"
 
@@ -952,12 +942,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "Etiquetes per aquest article (separades per comes):"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -967,19 +957,19 @@ msgstr "Desa"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -988,7 +978,7 @@ msgid "Cancel"
 msgstr "Cancel·la"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 #, fuzzy
 msgid "Share with Tiny Tiny RSS"
 msgstr "Torna a Tiny Tiny RSS"
@@ -998,8 +988,8 @@ msgid "Title:"
 msgstr "Titre&nbsp;:"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -1028,95 +1018,94 @@ msgstr ""
 msgid "Not logged in"
 msgstr "Última connexió el"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "El nom d'usuari o la contrasenya és incorrecte"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Ja esteu subscrit a <b>%s</b>."
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Subscrit a <b>%s</b>."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, fuzzy, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Ja esteu subscrit a <b>%s</b>."
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, fuzzy, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "No s'ha trobat cap canal."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 #, fuzzy
 msgid "Multiple feed URLs found."
 msgstr "L'adreça URL del canal ha canviat."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, fuzzy, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "Ja esteu subscrit a <b>%s</b>."
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 #, fuzzy
 msgid "Subscribe to selected feed"
 msgstr "Us voleu donar de baixa dels canals seleccionats?"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Edita les opcions de les subscripcions"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 #, fuzzy
 msgid "Password recovery"
 msgstr "Contrasenya:"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
 msgstr ""
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Reinicia la contrasenya"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr ""
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 #, fuzzy
 msgid "Go back"
 msgstr "Vés enrere"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr ""
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "No teniu prou permisos per a executar aquest script."
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Eina d'actualització de la base de dades"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Aplica les actualitzacions"
 
@@ -1209,7 +1198,7 @@ msgstr "Visualitza els canals"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 #, fuzzy
 msgid "View as RSS"
 msgstr "Visualitza les etiquetes"
@@ -1219,17 +1208,17 @@ msgid "Select:"
 msgstr "Selecciona:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "Tot"
@@ -1239,17 +1228,17 @@ msgid "Invert"
 msgstr "Inverteix"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "Cap"
@@ -1283,10 +1272,10 @@ msgid "Move back"
 msgstr "Vés enrere"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 #, fuzzy
 msgid "Delete"
 msgstr "Per defecte"
@@ -1304,7 +1293,7 @@ msgid "Feed:"
 msgstr "Flux&nbsp;:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "No s'ha trobat el canal."
 
@@ -1318,151 +1307,151 @@ msgstr "No ho purguis mai"
 msgid "Imported at %s"
 msgstr "Importeu"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "Marca'l com a llegit"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 #, fuzzy
 msgid "Collapse article"
 msgstr "Buida els articles"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "No es poden mostrar els articles no llegits perquè no n'hi ha."
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "No hi ha cap article actualitzat."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "No hi ha articles marcats per mostrar."
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 #, fuzzy
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
 msgstr "No s'han trobat articles per a mostrar. Podeu assignar articles a etiquetes manualment (mireu el menú Accions) o utilitzeu un filtre."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "No s'han trobat articles per a mostrar."
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, fuzzy, php-format
 msgid "Feeds last updated at %s"
 msgstr "Erreurs de mise à jour"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "S'han detectat errors en alguns canals (feu clic aquí per veure'n els detalls)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "No heu seleccionat cap canal."
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 #, fuzzy
 msgid "Feed or site URL"
 msgstr "Canal"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Posa'l a la categoria:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 #, fuzzy
 msgid "Available feeds"
 msgstr "Tots els canals"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Autenticació"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Entra"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 #, fuzzy
 msgid "Password"
 msgstr "Contrasenya:"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Aquest canal requereix autenticació."
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Subscriu-t'hi"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 #, fuzzy
 msgid "More feeds"
 msgstr "Més canals"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Cerca"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 #, fuzzy
 msgid "Popular feeds"
 msgstr "mostra els canals"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 #, fuzzy
 msgid "Feed archive"
 msgstr "Accions dels canals"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 #, fuzzy
 msgid "limit:"
 msgstr "Límit:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Suprimeix"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "Mirar-ho per"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Limita la cerca a:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Aquest canal"
 
@@ -1536,21 +1525,21 @@ msgid "Processing category: %s"
 msgstr "Posa'l a la categoria:"
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr ""
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 #, fuzzy
 msgid "Unable to move uploaded file."
 msgstr "Error: si us plau carregueu el fitxer OPML."
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "Error: si us plau carregueu el fitxer OPML."
@@ -1576,7 +1565,7 @@ msgid "User not found"
 msgstr "No s'ha trobat l'usuari"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Registrat"
 
@@ -1592,112 +1581,112 @@ msgstr "Nombre de canals subscrits"
 msgid "Subscribed feeds"
 msgstr "Canals subscrits"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Nivell d'accés:"
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Nova contrasenya"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Opcions"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "Adreça electrònica:"
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "S'ha creat l'usuari <b>%s</b> amb la contrasenya <b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "No s'ha pogut crear l'usuari <b>%s</b>"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "L'usuari<b>%s</b> ja existeix."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, fuzzy, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 "La contrasenya de l'usuari <b>%s</b>\n"
 "\t\t\t\t\ts'ha canviat a <b>%s</b>"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, fuzzy, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 "La contrasenya de l'usuari <b>%s</b>\n"
 "\t\t\t\t\ts'ha canviat a <b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] Notificació de canvi de contrasenya"
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 #, fuzzy
 msgid "Select"
 msgstr "Selecciona:"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Crea un usuari"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 #, fuzzy
 msgid "Details"
 msgstr "Diàriament"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Edita"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Permisos"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Última connexió"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Feu clic per editar"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "No s'han definit els usuaris."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "No s'ha trobat cap usuari que coinicideixi. "
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Descriptif"
 
@@ -1725,136 +1714,135 @@ msgstr "S'ha creat l'etiqueta <b>%s</b> "
 msgid "Clear colors"
 msgstr "Elimina els colors"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 #, fuzzy
 msgid "Articles matching this filter:"
 msgstr "No s'ha trobat cap fitxer que coincideixi."
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 #, fuzzy
 msgid "No recent articles matching this filter have been found."
 msgstr "No s'ha trobat cap fitxer que coincideixi."
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr ""
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Coincidència"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr ""
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 #, fuzzy
 msgid "Apply actions"
 msgstr "Accions dels canals"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Activat"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 #, fuzzy
 msgid "Match any rule"
 msgstr "Basat en:"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 #, fuzzy
 msgid "Inverse matching"
 msgstr "Coincidència inversa"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Tester"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 #, fuzzy
 msgid "(inverse)"
 msgstr "(Invers)"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr ""
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr ""
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 #, fuzzy
 msgid "Reset sort order"
 msgstr "Reinicia la contrasenya"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Canvia la puntuació dels articles"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Crea"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr ""
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "al camp"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr "a"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #, fuzzy
 msgid "Save rule"
 msgstr "Desa"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 #, fuzzy
 msgid "Add rule"
 msgstr "S'està afegint la categoria..."
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Acció a realitzar:"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "amb els paràmetres:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #, fuzzy
 msgid "Save action"
 msgstr "Quadre d'accions"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 #, fuzzy
 msgid "Add action"
 msgstr "Accions dels canals"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 #, fuzzy
 msgid "[No caption]"
 msgstr "Descriptif"
@@ -2008,7 +1996,6 @@ msgid "Purge unread articles"
 msgstr "Purga els articles per llegir"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "Inverteix l'ordre de les capçaleres (les més antigues les primeres)"
 
@@ -2051,7 +2038,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr "Elimina les etiquetes HTML més freqüents en llegir els articles."
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 #, fuzzy
 msgid "Customize stylesheet"
 msgstr "URL de la fulla d'estils personalitzada."
@@ -2256,96 +2243,95 @@ msgid "Reset to defaults"
 msgstr "Torna als paràmetres per defecte"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr ""
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 msgstr ""
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr ""
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 #, fuzzy
 msgid "Description"
 msgstr "description"
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr ""
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr ""
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr ""
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 #, fuzzy
 msgid "Clear data"
 msgstr "Esborra les dades del canal"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 #, fuzzy
 msgid "Enable selected plugins"
 msgstr "Habilita les icones dels canals."
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 #, fuzzy
 msgid "Incorrect one time password"
 msgstr "El nom d'usuari o la contrasenya és incorrecte"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 #, fuzzy
 msgid "Incorrect password"
 msgstr "El nom d'usuari o la contrasenya és incorrecte"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr ""
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 #, fuzzy
 msgid "Create profile"
 msgstr "Crea un filtre"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 #, fuzzy
 msgid "(active)"
 msgstr "Adaptatiu"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 #, fuzzy
 msgid "Remove selected profiles"
 msgstr "Esteu segur que voleu suprimir els filtres seleccionats?"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 #, fuzzy
 msgid "Activate profile"
 msgstr "Esteu segur que voleu suprimir els filtres seleccionats?"
@@ -2354,307 +2340,277 @@ msgstr "Esteu segur que voleu suprimir els filtres seleccionats?"
 msgid "Check to enable field"
 msgstr "Seleccioneu-ho per activar els camps"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 #, fuzzy
 msgid "Feed Title"
 msgstr "Títol"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Actualitza"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Neteja d'articles:"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 #, fuzzy
 msgid "Hide from Popular feeds"
 msgstr "Amaga-ho de la llista de canals"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "Inclou-lo en el resum diari per correu electrònic"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Mostra les imatges adjuntes"
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr ""
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Emmagatzema les imatges localment"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 #, fuzzy
 msgid "Mark updated articles as unread"
 msgstr "Esteu segur que voleu marcar tots els articles com a llegits?"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 #, fuzzy
 msgid "Icon"
 msgstr "Action"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr ""
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 #, fuzzy
 msgid "Resubscribe to push updates"
 msgstr "Subscrit als canals:"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Fet!"
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 #, fuzzy
 msgid "Feeds with errors"
 msgstr "Editor de canals"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 #, fuzzy
 msgid "Inactive feeds"
 msgstr "Tots els canals"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 #, fuzzy
 msgid "Edit selected feeds"
 msgstr "S'estan purgant els canals seleccionats..."
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 #, fuzzy
 msgid "Batch subscribe"
 msgstr "Dóna't de baixa"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 #, fuzzy
 msgid "Categories"
 msgstr "Catégorie&nbsp;:"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 #, fuzzy
 msgid "Add category"
 msgstr "S'està afegint la categoria..."
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 #, fuzzy
 msgid "Remove selected"
 msgstr "Esteu segur que voleu suprimir els filtres seleccionats?"
 
-#: classes/pref/feeds.php:1361
-#, fuzzy
-msgid "(Un)hide empty categories"
-msgstr "Edita les categories"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 #, fuzzy
 msgid "More actions..."
 msgstr "Accions..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Purger manuellement"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Esborra les dades del canal"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr ""
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr ""
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 #, fuzzy
 msgid "Import my OPML"
 msgstr "S'està important OPML (s'està utilitzant l'extensió DOMXML)..."
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr ""
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 #, fuzzy
 msgid "Include settings"
 msgstr "Inclou-lo en el resum diari per correu electrònic"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 #, fuzzy
 msgid "Export OPML"
 msgstr "Exporta en format OPML"
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 #, fuzzy
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr "Els articles publicats s'exporten en un canal RSS públic al qual s'hi pot subscriure qualsevol que en conegui l'adreça URL."
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 #, fuzzy
 msgid "Firefox integration"
 msgstr "Integració al Firefox"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr "Podeu utilitzar Tiny Tiny RSS  com a lector de canals amb el Firefox fent clic en el següent enllaç."
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Feu clic aquí per a desar aquesta pàgina web com un canal."
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 #, fuzzy
 msgid "Published & shared articles / Generated feeds"
 msgstr "Esteu segur que voleu canviar la puntuació dels articles en les etiquetes personalitzades?"
 
-#: classes/pref/feeds.php:1489
-#, fuzzy
-msgid "Published articles and generated feeds"
-msgstr "Esteu segur que voleu canviar la puntuació dels articles en les etiquetes personalitzades?"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr "Els articles publicats s'exporten en un canal RSS públic al qual s'hi pot subscriure qualsevol que en conegui l'adreça URL."
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 #, fuzzy
 msgid "Display URL"
 msgstr "afficher les étiquettes"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr ""
 
-#: classes/pref/feeds.php:1502
-#, fuzzy
-msgid "Articles shared by URL"
-msgstr "Marca l'article"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr ""
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 #, fuzzy
 msgid "Unshare all articles"
 msgstr "Articles mémorisés"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 #, fuzzy
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "Aquests canals no s'han actualitzat degut als següents errors:"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 #, fuzzy
 msgid "Click to edit feed"
 msgstr "Feu clic per editar"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 #, fuzzy
 msgid "Unsubscribe from selected feeds"
 msgstr "Us voleu donar de baixa dels canals seleccionats?"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Aquests canals no s'han actualitzat degut als següents errors:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr ""
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr ""
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 #, fuzzy
 msgid "Feeds require authentication."
 msgstr "Aquest canal requereix autenticació."
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr ""
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 #, fuzzy
 msgid "Refresh"
 msgstr "Actualitza"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "Elimina els colors"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr ""
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 msgid "Filename"
 msgstr ""
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr ""
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "Data"
 
-#: plugins/digest/digest_body.php:57
-#, fuzzy
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr ""
-"El  vostre navegador no és compatible amb Javascript, el qual és necessari\n"
-" /t/t per tal que aquesta aplicació funcioni correctament. Si us plau reviseu els vostres\n"
-"/t/t paràmetres del navegador."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Hola, "
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr ""
-
 #: plugins/close_button/init.php:22
 #, fuzzy
 msgid "Close article"
@@ -2691,67 +2647,6 @@ msgstr "S'ha modificat la contrasenya."
 msgid "Old password is incorrect."
 msgstr "La contrasenya antiga és incorrecta."
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr ""
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr ""
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr ""
-
-#: plugins/mobile/prefs.php:30
-#, fuzzy
-msgid "Enable categories"
-msgstr "Utiliser les catégories de flux"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr ""
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr ""
-
-#: plugins/mobile/prefs.php:35
-#, fuzzy
-msgid "Browse categories like folders"
-msgstr "Reinicia l'ordre de les categories"
-
-#: plugins/mobile/prefs.php:41
-#, fuzzy
-msgid "Show images in posts"
-msgstr "No mostris imatges en els articles"
-
-#: plugins/mobile/prefs.php:46
-#, fuzzy
-msgid "Hide read articles and feeds"
-msgstr "Mostra/amaga els canals llegits"
-
-#: plugins/mobile/prefs.php:51
-#, fuzzy
-msgid "Sort feeds by unread count"
-msgstr "Ordena els canals per articles no llegits"
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2796,12 +2691,12 @@ msgstr ""
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "Torna a Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 #, fuzzy
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Torna a Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr ""
 
@@ -2810,12 +2705,7 @@ msgid "Import and export"
 msgstr ""
 
 #: plugins/import_export/init.php:60
-#, fuzzy
-msgid "Article archive"
-msgstr "Data de l'article"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
 msgstr ""
 
 #: plugins/import_export/init.php:65
@@ -2827,50 +2717,50 @@ msgstr "Exporta en format OPML"
 msgid "Import"
 msgstr "Importeu"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 #, fuzzy
 msgid "Could not import: incorrect schema version."
 msgstr "No s'ha pogut trobar el fitxer d'esquema necessari, es necessita la versió:"
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr ""
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr ""
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, fuzzy, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] "Edita les etiquetes"
 msgstr[1] "Edita les etiquetes"
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, fuzzy, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] "Ja s'ha importat"
 msgstr[1] "Ja s'ha importat"
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, fuzzy, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] "No heu seleccionat cap canal."
 msgstr[1] "No heu seleccionat cap canal."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr ""
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 #, fuzzy
 msgid "Prepare data"
 msgstr "Desa"
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 #, fuzzy
 msgid "No file uploaded."
@@ -2901,19 +2791,6 @@ msgstr "Canvieu l'adreça electrònica"
 msgid "Edit article note"
 msgstr "Edita les etiquetes"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr ""
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr ""
-
-#: plugins/example/init.php:73
-#, fuzzy
-msgid "Set value"
-msgstr "Marca'l com a destacat"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -3049,23 +2926,22 @@ msgstr "Última actualització:"
 msgid "Start update"
 msgstr "Última actualització:"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Esteu segur que voleu marcar tots els articles de %s com a llegits?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 #, fuzzy
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "Esteu segur que voleu marcar tots els articles de %s com a llegits?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 #, fuzzy
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "Esteu segur que voleu marcar tots els articles de %s com a llegits?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 #, fuzzy
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "Esteu segur que voleu marcar tots els articles de %s com a llegits?"
@@ -3189,7 +3065,7 @@ msgid "Subscription reset."
 msgstr "Subscriviu-vos al canal"
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "Us voleu donar de baixa de %s ?"
 
@@ -3212,8 +3088,8 @@ msgid "Trying to change address..."
 msgstr "S'està intentant canviar l'adreça..."
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "No podeu editar aquest tipus de canal."
 
@@ -3583,253 +3459,215 @@ msgstr ""
 msgid "Shared URLs cleared."
 msgstr ""
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Éditeur d'intitulé"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 #, fuzzy
 msgid "Subscribing to feeds..."
 msgstr "S'està subscrivint a un canal..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr ""
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Esteu segur que voleu marcar tots els articles com a llegits?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr "S'estan marcant tots els canals com a llegits..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 #, fuzzy
 msgid "Please enable mail plugin first."
 msgstr "Primerament heu de seleccionar un canal."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 #, fuzzy
 msgid "Please enable embed_original plugin first."
 msgstr "Primerament heu de seleccionar un canal."
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr ""
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "No us podeu donar de baixa de la categoria."
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Primerament heu de seleccionar un canal."
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "No podeu canviar la puntuació d'aquest tipus de canal."
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Esteu segur que voleu canviar la puntuació dels articles a %s?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
 msgstr "S'estan canviant la puntuació dels articles"
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 #, fuzzy
 msgid "New version available!"
 msgstr "Hi ha una nova versió de Tiny Tiny RSS!"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 #, fuzzy
 msgid "Cancel search"
 msgstr "Cancel·la"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Treu la marca de l'article"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Marca l'article"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Deixa de publicar l'article"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Publica l'article"
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 #, fuzzy
 msgid "%d article selected"
 msgid_plural "%d articles selected"
 msgstr[0] "No hi ha cap article seleccionat."
 msgstr[1] "No hi ha cap article seleccionat."
 
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "No hi ha cap article seleccionat."
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 #, fuzzy
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "Esteu segur que voleu marcar els %d articles seleccionats de %s com a llegits?"
 msgstr[1] "Esteu segur que voleu marcar els %d articles seleccionats de %s com a llegits?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 #, fuzzy
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "Esteu segur que voleu eliminar els articles seleccionats de l'etiqueta?"
 msgstr[1] "Esteu segur que voleu eliminar els articles seleccionats de l'etiqueta?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 #, fuzzy
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "Esteu segur que voleu marcar els %d articles seleccionats de %s com a llegits?"
 msgstr[1] "Esteu segur que voleu marcar els %d articles seleccionats de %s com a llegits?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 #, fuzzy
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "Articles marcats"
 msgstr[1] "Articles marcats"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
 msgstr ""
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 #, fuzzy
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "Esteu segur que voleu marcar els %d articles seleccionats de %s com a llegits?"
 msgstr[1] "Esteu segur que voleu marcar els %d articles seleccionats de %s com a llegits?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 #, fuzzy
 msgid "Edit article Tags"
 msgstr "Edita les etiquetes"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
 msgstr "S'estan desant les etiquetes de l'article"
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "No hi ha cap article seleccionat."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "No s'han trobat articles per a marcar."
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 #, fuzzy
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "Esteu segur que voleu marcar  %d article(s) com a llegit(s) ?"
 msgstr[1] "Esteu segur que voleu marcar  %d article(s) com a llegit(s) ?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 #, fuzzy
 msgid "Open original article"
 msgstr "Mostra el contingut original de l'article"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 #, fuzzy
 msgid "Display article URL"
 msgstr "afficher les étiquettes"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 #, fuzzy
 msgid "Toggle marked"
 msgstr "Commuta els marcats"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Assigna-li l'etiqueta"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 #, fuzzy
 msgid "Remove label"
 msgstr "Esteu segur que voleu suprimir les etiquetes seleccionades?"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 #, fuzzy
 msgid "Please enter new score for selected articles:"
 msgstr "Si us plau, escriviu una nota per aquest article:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 #, fuzzy
 msgid "Please enter new score for this article:"
 msgstr "Si us plau, escriviu una nota per aquest article:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 #, fuzzy
 msgid "Article URL:"
 msgstr "Tots els articles"
 
-#: plugins/digest/digest.js:72
-#, fuzzy
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "Esteu segur que voleu marcar  %d article(s) com a llegit(s) ?"
-msgstr[1] "Esteu segur que voleu marcar  %d article(s) com a llegit(s) ?"
-
-#: plugins/digest/digest.js:290
-#, fuzzy
-msgid "Error: unable to load article."
-msgstr "Error: si us plau carregueu el fitxer OPML."
-
-#: plugins/digest/digest.js:464
-#, fuzzy
-msgid "Click to expand article."
-msgstr "Clica-hi per a veure el cos de l'article"
-
-#: plugins/digest/digest.js:535
-#, fuzzy
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "Ouverture de l'aide..."
-msgstr[1] "Ouverture de l'aide..."
-
-#: plugins/digest/digest.js:542
-#, fuzzy
-msgid "No unread feeds."
-msgstr "Mostra/amaga els canals llegits"
-
-#: plugins/digest/digest.js:649
-#, fuzzy
-msgid "Load more..."
-msgstr "Ouverture de l'aide..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr ""
@@ -3915,6 +3753,87 @@ msgstr "Marca l'article"
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
 msgstr ""
 
+#, fuzzy
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Edita les categories"
+
+#, fuzzy
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Esteu segur que voleu canviar la puntuació dels articles en les etiquetes personalitzades?"
+
+#, fuzzy
+#~ msgid "Articles shared by URL"
+#~ msgstr "Marca l'article"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Aquests canals no s'han actualitzat degut als següents errors:"
+
+#, fuzzy
+#~ msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
+#~ msgstr ""
+#~ "El  vostre navegador no és compatible amb Javascript, el qual és necessari\n"
+#~ " /t/t per tal que aquesta aplicació funcioni correctament. Si us plau reviseu els vostres\n"
+#~ "/t/t paràmetres del navegador."
+
+#~ msgid "Hello,"
+#~ msgstr "Hola, "
+
+#, fuzzy
+#~ msgid "Enable categories"
+#~ msgstr "Utiliser les catégories de flux"
+
+#, fuzzy
+#~ msgid "Browse categories like folders"
+#~ msgstr "Reinicia l'ordre de les categories"
+
+#, fuzzy
+#~ msgid "Show images in posts"
+#~ msgstr "No mostris imatges en els articles"
+
+#, fuzzy
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "Mostra/amaga els canals llegits"
+
+#, fuzzy
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "Ordena els canals per articles no llegits"
+
+#, fuzzy
+#~ msgid "Article archive"
+#~ msgstr "Data de l'article"
+
+#, fuzzy
+#~ msgid "Set value"
+#~ msgstr "Marca'l com a destacat"
+
+#, fuzzy
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "Esteu segur que voleu marcar  %d article(s) com a llegit(s) ?"
+#~ msgstr[1] "Esteu segur que voleu marcar  %d article(s) com a llegit(s) ?"
+
+#, fuzzy
+#~ msgid "Error: unable to load article."
+#~ msgstr "Error: si us plau carregueu el fitxer OPML."
+
+#, fuzzy
+#~ msgid "Click to expand article."
+#~ msgstr "Clica-hi per a veure el cos de l'article"
+
+#, fuzzy
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "Ouverture de l'aide..."
+#~ msgstr[1] "Ouverture de l'aide..."
+
+#, fuzzy
+#~ msgid "No unread feeds."
+#~ msgstr "Mostra/amaga els canals llegits"
+
+#, fuzzy
+#~ msgid "Load more..."
+#~ msgstr "Ouverture de l'aide..."
+
 #, fuzzy
 #~ msgid "Show tag cloud..."
 #~ msgstr "Núvol d'etiquetes"
index 40447152dec162940719a2df611263f71ddd3f30..57f36f4815794bb434eaeab9416346c28449cde5 100644 (file)
Binary files a/locale/cs_CZ/LC_MESSAGES/messages.mo and b/locale/cs_CZ/LC_MESSAGES/messages.mo differ
index b136b237610359988b95e193fd0b7fce3f482891..e9a721017765f9ce967c09a54132424e98ed5a40 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
-"PO-Revision-Date: 2013-04-27 12:04+0200\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
+"PO-Revision-Date: 2013-05-13 18:50+0200\n"
 "Last-Translator: Tomáš Chvátal <tomas.chvatal@gmail.com>\n"
 "Language-Team: Czech <kde-i18n-doc@kde.org>\n"
 "Language: cs\n"
@@ -91,8 +91,8 @@ msgid "Weekly"
 msgstr "Týdně"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Uživatel"
 
@@ -155,14 +155,13 @@ msgstr "Test ochrany proti podvratným SQL dotazům (SQL Injection) selhal, zkon
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -177,14 +176,14 @@ msgstr "Test ochrany proti podvratným SQL dotazům (SQL Injection) selhal, zkon
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -207,13 +206,13 @@ msgid "All Articles"
 msgstr "Všechny články"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "S hvězdičkou"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "Publikováno"
@@ -258,12 +257,11 @@ msgstr "Název"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Označit jako přečtené"
 
@@ -304,7 +302,7 @@ msgid "Feed actions:"
 msgstr "Činnosti kanálů:"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Přihlásit se k odběru..."
 
@@ -317,8 +315,8 @@ msgid "Rescore feed"
 msgstr "Přehodnotit kanál"
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Zrušit odběr"
@@ -336,7 +334,7 @@ msgid "Other actions:"
 msgstr "Ostatní činnosti:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 msgid "Toggle widescreen mode"
 msgstr "Přepnout širokoúhlý režim"
 
@@ -357,55 +355,50 @@ msgid "Keyboard shortcuts help"
 msgstr "Nápověda ke klávesovým zkratkám"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Odhlásit se"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Nastavení"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Klávesové zkratky"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Opustit nastavení"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Kanály"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Filtry"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "Štítky"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Uživatelé"
 
-#: prefs.php:132
-#, fuzzy
+#: prefs.php:131
 msgid "System"
-msgstr "Systémové moduly"
+msgstr "Systém"
 
 #: register.php:184
 #: include/login_form.php:238
@@ -424,13 +417,13 @@ msgstr "Registrace nových uživatelů jsou zakázány správcem."
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Zpět do Tiny Tiny RSS"
 
@@ -447,12 +440,12 @@ msgid "Check availability"
 msgstr "Ověřit dostupnost"
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "E-mail:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "Kolik je dva plus dva:"
 
@@ -486,11 +479,11 @@ msgstr "Skript aktualizace dat Tiny Tiny RSS."
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Bez zařazení"
 
@@ -507,301 +500,300 @@ msgid "No feeds found."
 msgstr "Nenalezeny žádné kanály."
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Speciální"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Všechny kanály"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Články s hvězdičkou"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Publikované články"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Nové články"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Všechny články"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "Archivované články"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr "Nedávno přečtené"
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Navigace"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 msgid "Open next feed"
 msgstr "Otevřít následující kanál"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr "Otevřít předchozí kanál"
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 msgid "Open next article"
 msgstr "Otevřít následující článek"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 msgid "Open previous article"
 msgstr "Otevřít předchozí článek"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr "Otevřít následující článek (neposouvat dlouhé články)"
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr "Otevřít předchozí článek (neposouvat dlouhé články)"
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr "Přejít na následující článek (nerozbalovat ani neoznačovat jako přečtené)"
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr "Přejít na předchozí článek (nerozbalovat ani neoznačovat jako přečtené)"
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Zobrazit dialog hledání"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 msgid "Article"
 msgstr "Článek"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Přepnout hvězdičku"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Přepnout publikováno"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Přepnout přečteno"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Upravit značky"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 msgid "Dismiss selected"
 msgstr ""
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 msgid "Dismiss read"
 msgstr ""
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 msgid "Open in new window"
 msgstr "Otevřít v novém okně"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr "Označit níže jako přečtené"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr "Označit výše jako přečtené"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 msgid "Scroll down"
 msgstr "Posunout dolů"
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr "Posunout nahoru"
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 msgid "Select article under cursor"
 msgstr "Vybrat článek pod kurzorem"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr "Odeslat článek e-mailem"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 msgid "Close/collapse article"
 msgstr "Zavřít/sbalit článek"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 msgid "Toggle article expansion (combined mode)"
 msgstr "Přepnout automatické rozbalení článku (kombinovaný režim)"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 msgid "Toggle embed original"
 msgstr "Přepnout vložený originál"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 msgid "Article selection"
 msgstr "Výběr článků"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr "Vybrat všechny články"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 msgid "Select unread"
 msgstr "Vybrat nepřečtené"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 msgid "Select starred"
 msgstr "Vybrat s hvězdičkou"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 msgid "Select published"
 msgstr "Vybrat publikované"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 msgid "Invert selection"
 msgstr "Obrátit výběr"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 msgid "Deselect everything"
 msgstr "Zrušit výběr"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Kanál"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 msgid "Refresh current feed"
 msgstr "Obnovit současný kanál"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 msgid "Un/hide read feeds"
 msgstr "Zobrazit/Skrýt přečtené kanály"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Přihlásit se k odběru"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Upravit kanál"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 msgid "Reverse headlines"
 msgstr "Obrácené řazení nadpisů "
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 msgid "Debug feed update"
 msgstr "Ladit aktualizaci kanálů"
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Označit všechny kanály za přečtené"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 msgid "Un/collapse current category"
 msgstr "Rozbalit/sbalit aktuální kategorii"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 msgid "Toggle combined mode"
 msgstr "Přepnout kombinovaný režim"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 msgid "Toggle auto expand in combined mode"
 msgstr "Přepnout automatické rozbalení kombinovaném režimu"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 msgid "Go to"
 msgstr "Přejít na"
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr "Nové"
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Seznam značek"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 msgid "Other"
 msgstr "Ostatní"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Vytvořit štítek"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Vytvořit filtr"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 msgid "Un/collapse sidebar"
 msgstr "Rozbalit/sbalit postranní lištu"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 msgid "Show help dialog"
 msgstr "Zobrazit nápovědu"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr "Výsledky hledání: %s"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "žádné značky"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Upravit značky pro článek"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 msgid "Originally from:"
 msgstr "Původně z:"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr "URL kanálu"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -811,46 +803,44 @@ msgstr "URL kanálu"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Zavřít toto okno"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr "(upravit poznámku)"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "neznámý typ"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 msgid "Attachments"
 msgstr "Přílohy"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
-msgstr ""
+msgstr "Chyba LibXML %s na řádku %d (sloupec %d): %s"
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Přihlášení:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "Heslo:"
 
@@ -865,7 +855,7 @@ msgstr "Profil:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "Výchozí profil"
 
@@ -875,7 +865,7 @@ msgstr "Generovat méně provozu"
 
 #: include/login_form.php:221
 msgid "Does not display images in articles, reduces automatic refreshes."
-msgstr ""
+msgstr "Nezobrazuje obrázky v článcích a tak snižuje potřebu pro automatické obnovení."
 
 #: include/login_form.php:229
 msgid "Remember me"
@@ -883,7 +873,6 @@ msgstr "Zapamatovat"
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "Přihlásit"
 
@@ -900,12 +889,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "Značky článku (oddělené čárkami):"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -915,19 +904,19 @@ msgstr "Uložit"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -936,7 +925,7 @@ msgid "Cancel"
 msgstr "Zrušit"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 msgid "Share with Tiny Tiny RSS"
 msgstr "Sdílet s Tiny Tiny RSS"
 
@@ -945,8 +934,8 @@ msgid "Title:"
 msgstr "Název:"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -972,91 +961,90 @@ msgstr "Sdílet"
 msgid "Not logged in"
 msgstr "Nepřihlášený"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Neplatné uživatelské jméno nebo heslo"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Již odebíráte <b>%s</b>."
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Zahájen odběr <b>%s</b>."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Nelze zahájit odběr <b>%s</b>."
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "Nenalezeny žádné kanály v <b>%s</b>."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 msgid "Multiple feed URLs found."
 msgstr "Nalezeno více URL kanálů."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "Nelze zahájit odběr <b>%s</b>.<br>Nelze stáhnout URL kanálu."
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr "Zahájit odběr vybraných kanálů"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Upravit možnosti odebírání"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 msgid "Password recovery"
 msgstr "Obnova hesla"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
 msgstr "Musíte zadat platný název účtu a e-mailovou adresu. Nové heslo bude zasláno na vaši e-mailovou adresu."
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Obnovit heslo"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr "Některý z požadovaných parametrů chybí nebo je neplatný."
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 msgid "Go back"
 msgstr "Jít zpět"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr "Lituji, kombinace e-mailové adresy a přihlašovacího jména nenalezena."
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "Vaše přístupová práva nejsou dostatečná pro spuštění skriptu."
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Aktualizační nástroj databáze"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Provést aktualizace"
 
@@ -1134,9 +1122,9 @@ msgid "Error receiving version information or no new version available."
 msgstr "Chyba při získávání informací o verzi, nebo není dostupná novější verze."
 
 #: classes/feeds.php:56
-#, fuzzy, php-format
+#, php-format
 msgid "Last updated: %s"
-msgstr "Poslední aktualizace:"
+msgstr "Poslední aktualizace: %s"
 
 #: classes/feeds.php:75
 msgid "View as RSS feed"
@@ -1144,7 +1132,7 @@ msgstr "Zobrazit jako kanál RSS"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "Zobrazit jako RSS"
 
@@ -1153,17 +1141,17 @@ msgid "Select:"
 msgstr "Vybrat:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "Vše"
@@ -1173,17 +1161,17 @@ msgid "Invert"
 msgstr "Invertovat"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "Žádný"
@@ -1213,10 +1201,10 @@ msgid "Move back"
 msgstr "Zpět"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "Smazat"
 
@@ -1232,156 +1220,155 @@ msgid "Feed:"
 msgstr "Kanál:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Kanál nenalezen."
 
 #: classes/feeds.php:254
-#, fuzzy
 msgid "Never"
-msgstr "Nikdy nečistit"
+msgstr "Nikdy"
 
 #: classes/feeds.php:360
 #, php-format
 msgid "Imported at %s"
 msgstr "Importováno v %s"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "označit jako přečtené"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 msgid "Collapse article"
 msgstr "Sbalit článek"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "Nenalezeny žádné nepřečtené články k zobrazení."
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "Nenalezeny žádné aktualizované články k zobrazení."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "Nenalezeny žádné články s hvězdičkou k zobrazení."
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
 msgstr "Žádné zobrazitelné články. Můžete článkům přiřadit štítky ručně z kontextové nabídky v hlavičce článku (platí pro všechny vybrané články) a nebo použít filtr."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "Nenalezeny žádné články ke zobrazení."
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "Kanál naposledy aktualizován v %s"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "Některé kanály měly problémy při aktualizaci (klikněte pro podrobnosti)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Není vybrán žádný kanál."
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 msgid "Feed or site URL"
 msgstr "Kanál nebo URL stránky"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Umístit v kategorii:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "Dostupné kanály"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Ověření"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Přihlášení"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "Heslo"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Tento kanál vyžaduje ověření."
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Odebírat"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "Více kanálů"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Hledat"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr "Oblíbené kanály"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr "Archív kanálů"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
 msgstr "omezení:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Odstranit"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "Hledat"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Omezit hledání na:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Tento kanál"
 
@@ -1453,20 +1440,20 @@ msgid "Processing category: %s"
 msgstr "Zpracovávám kategorii: %s"
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr "Odesílání selhalo s chybovým kódem %d"
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 msgid "Unable to move uploaded file."
 msgstr "Nelze přesunout odeslaný soubor."
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "Chyba: nahrajte prosím soubor OPML."
@@ -1491,7 +1478,7 @@ msgid "User not found"
 msgstr "Uživatel nebyl nalezen"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Registrován"
 
@@ -1507,106 +1494,106 @@ msgstr "Počet odebíraných kanálů"
 msgid "Subscribed feeds"
 msgstr "Odebírané kanály"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Úroveň přístupu: "
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Změnit heslo na"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Možnosti"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "E-mail: "
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "Přidán uživatel <b>%s</b> s heslem <b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "Nelze vytvořit uživatele <b>%s</b>"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "Uživatel <b>%s</b> již existuje."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr "Změněno heslo uživatele <b>%s</b> na <b>%s</b>"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr "Zasílám nové heslo uživatele <b>%s</b> na <b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] Oznámení o změně hesla"
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 msgid "Select"
 msgstr "Vybrat"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Vytvořit uživatele"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "Podrobnosti"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Upravit"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Úroveň přístupu"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Poslední přihlášení"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Klikněte pro úpravy"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "Není definován žádný uživatel."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "Nebyl nalezen žádný odpovídající uživatel."
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Titulek"
 
@@ -1631,125 +1618,124 @@ msgstr "Vytvořen štítek <b>%s</b>"
 msgid "Clear colors"
 msgstr "Vymazat barvy"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr "Články odpovídající filtru:"
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 msgid "No recent articles matching this filter have been found."
 msgstr "Nebyly nalezeny žádné nedávné články odpovídající filtru."
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr "Komplexní výrazy nemusejí navrátit výsledky při testování kvůli problémům s implementací regulárních výrazů databázového serveru."
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Odpovídá"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr "Přidat"
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 msgid "Apply actions"
 msgstr "Vykonat činnosti"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Povoleno"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr "Odpovídá kterémukoliv pravidlu"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 msgid "Inverse matching"
 msgstr ""
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Test"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 msgid "(inverse)"
 msgstr "(inverzní)"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr "%s na %s v %s %s"
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr "Kombinovat"
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "Zrušit pořadí řazení"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Přehodnotit články"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Vytvořit"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr ""
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "pole"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr "v"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 msgid "Save rule"
 msgstr "Uložit pravidlo"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 msgid "Add rule"
 msgstr "Přidat pravidlo"
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Provést činnost"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "s parametry:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 msgid "Save action"
 msgstr "Uložit činnost"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 msgid "Add action"
 msgstr "Přidat činnost"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 msgid "[No caption]"
 msgstr "[Bez titulku]"
 
@@ -1890,7 +1876,6 @@ msgid "Purge unread articles"
 msgstr "Čistit nepřečtené články"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "Obrácené řazení nadpisů (nejstarší jako první)"
 
@@ -1931,7 +1916,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr "Při čtení článků odstranit všechny HTML značky, kromě základních."
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "Upravit soubor motivu"
 
@@ -1940,9 +1925,8 @@ msgid "Customize CSS stylesheet to your liking"
 msgstr "Přizpůsobit soubor vzhledu CSS dle vašich představ"
 
 #: classes/pref/prefs.php:55
-#, fuzzy
 msgid "Time zone"
-msgstr "Časová zóna uživatele"
+msgstr "Časová zóna"
 
 #: classes/pref/prefs.php:56
 msgid "Group headlines in virtual feeds"
@@ -1953,13 +1937,12 @@ msgid "Special feeds, labels, and categories are grouped by originating feeds"
 msgstr "Speciální kanály, popisky a kategorie jsou sdruženy podle původních kanálů"
 
 #: classes/pref/prefs.php:57
-#, fuzzy
 msgid "Language"
-msgstr "Jazyk:"
+msgstr "Jazyk"
 
 #: classes/pref/prefs.php:58
 msgid "Theme"
-msgstr ""
+msgstr "Motiv"
 
 #: classes/pref/prefs.php:58
 msgid "Select one of the available CSS themes"
@@ -2072,9 +2055,8 @@ msgid "Scan the following code by the Authenticator application:"
 msgstr "Načtěte následující kód ověřující aplikací:"
 
 #: classes/pref/prefs.php:408
-#, fuzzy
 msgid "Enter the generated one time password"
-msgstr "Zadejte prosím vaše heslo na jedno použití:"
+msgstr "Zadejte vaše heslo na jedno použití:"
 
 #: classes/pref/prefs.php:422
 msgid "Enable OTP"
@@ -2082,7 +2064,7 @@ msgstr "Povolit OTP"
 
 #: classes/pref/prefs.php:428
 msgid "PHP GD functions are required for OTP support."
-msgstr ""
+msgstr "Funkce PHP GD jsou požadovány pro podporu OTP."
 
 #: classes/pref/prefs.php:471
 msgid "Some preferences are only available in default profile."
@@ -2122,89 +2104,87 @@ msgid "Reset to defaults"
 msgstr "Obnovit výchozí hodnoty"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr "Moduly"
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr "Pro provedení změn v modulech musíte znovu načíst Tiny Tiny RSS."
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 msgstr "Stáhnout více modulů na <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">foréch</a>, nebo <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a> tt-rss.org."
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr "Systémové moduly"
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr "Modul"
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 msgid "Description"
 msgstr "Popis"
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr "Verze"
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr "Autor"
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr "více informací"
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 msgid "Clear data"
 msgstr "Smazat data"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr "Uživatelské moduly"
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 msgid "Enable selected plugins"
 msgstr "Povolit vybrané moduly"
 
-#: classes/pref/prefs.php:922
-#, fuzzy
+#: classes/pref/prefs.php:920
 msgid "Incorrect one time password"
-msgstr "Špatné heslo"
+msgstr "Chybné heslo na jedno použití"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 msgid "Incorrect password"
 msgstr "Špatné heslo"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr "Můžete změnit bary, font a rozvržení vybraného motivu s vlastním nastavením CSS. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">Tento soubor</a> vám poslouží jako základ."
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "Vytvořit profil"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(aktivní)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "Odstranit vybrané profily"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "Aktivovat profil"
 
@@ -2212,275 +2192,249 @@ msgstr "Aktivovat profil"
 msgid "Check to enable field"
 msgstr "Zaškrtněte pro povolení pole"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "Název kanálu"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Aktualizovat"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Čištění článků:"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr "<b>Rada:</b> pokud váš kanál vyžaduje ověření, musíte zadat přihlašovací údaje, s výjimkou pro kanály Twitter."
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "Skrýt před populárními kanály"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "Začlenit do e-mailových souhrnů"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Vždy zobrazovat obrázkové přílohy"
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr "Nevkládat obrázky"
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Uchovávat obrázky na serveru"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "Označit aktualizované články jako nepřečtené"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr "Ikona"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "Nahradit"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr ""
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Vše hotovo."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "Kanály s chybami"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 msgid "Inactive feeds"
 msgstr "Neaktivní kanály"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "Upravit vybrané kanály"
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr "Dávkové zahájení odběru"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 msgid "Categories"
 msgstr "Kategorie"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 msgid "Add category"
 msgstr "Přidat kategorii"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 msgid "Remove selected"
 msgstr "Odstranit vybrané"
 
-#: classes/pref/feeds.php:1361
-msgid "(Un)hide empty categories"
-msgstr "Zobrazit/Skrýt prázdné kategorie"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "Další činnost..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Ruční čištění"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Vyčistit data kanálu"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr "Pomocí OPML můžete exportovat a importovat své kanály, filtry, štítky a nastavení Tiny Tiny RSS."
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr "Pomocí OPML může být migrován pouze profil hlavního nastavení."
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 msgid "Import my OPML"
 msgstr "Importovat moji OPML"
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr "Název souboru:"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
 msgstr ""
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 msgid "Export OPML"
 msgstr "Exportovat OPML"
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr "Vaše OPML může být publikováno a použito kýmkoliv kdo zná následující URL."
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr "Publikovaná OPML neobsahují vaše nastavení Tiny Tiny RSS a kanály které vyžadují ověření, nebo jsou skryty před Oblíbenými kanály."
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr "Veřejná URL OPML"
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr "Zobrazit URL publikovaných OPML"
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr "Integrace s Firefoxem"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr "Stránka Tiny Tiny RSS může být použita jako Čtečka kanálů Firefox následujícím odkazem."
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Klikněte pro registraci této stránky jako čtečky kanálů."
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 msgid "Published & shared articles / Generated feeds"
 msgstr "Publikované a sdílené články / Generované kanály"
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr "Publikované články a generované kanály"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr "Publikované články jsou exportované jako veřejný kanál RSS, který může odebírat kdokoliv kdo zná následující URL."
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr "Zobrazit URL"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr "Vyčistit všechny vygenerované URL"
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr "Články sdílené pomocí URL"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr "Zde můžete zakázat sdílení článků pomocí unikátních URL."
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 msgid "Unshare all articles"
 msgstr "Zrušit sdílení všech článků"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "Tyto kanály nebyly aktualizovány s novým obsahem po tři měsíce (nejprve nejstarší):"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "Klikněte pro úpravu kanálu"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "Zrušit odběr vybraných kanálů"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Kanály, které nebyly aktualizovány kvůli chybám:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr "Přidávejte jeden platný RSS kanál na řádku (neprobíhá detekce kanálu)"
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr "Kanály k odebírání, jeden na řádku"
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr "Kanály vyžadují ověření."
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
-msgstr ""
+msgstr "Záznam o chybách"
 
-#: classes/pref/system.php:36
-#, fuzzy
+#: classes/pref/system.php:40
 msgid "Refresh"
-msgstr "Nové"
+msgstr "Obnovit"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+msgid "Clear log"
+msgstr "Vyčistit záznam"
+
+#: classes/pref/system.php:48
 msgid "Error"
-msgstr ""
+msgstr "Chyba"
 
-#: classes/pref/system.php:42
-#, fuzzy
+#: classes/pref/system.php:49
 msgid "Filename"
-msgstr "Název souboru:"
+msgstr "Název souboru"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
-msgstr ""
+msgstr "Zpráva"
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
-msgstr ""
-
-#: plugins/digest/digest_body.php:57
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr "Váš prohlížeč nepodporuje Javascript, který je vyžadován pro správnou funkci aplikace. Zkontrolujte prosím nastavení prohlížeče."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Ahoj,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr "Normální verze"
+msgstr "Datum"
 
 #: plugins/close_button/init.php:22
 msgid "Close article"
@@ -2515,62 +2469,6 @@ msgstr "Heslo bylo změněno."
 msgid "Old password is incorrect."
 msgstr "Staré heslo je chybné."
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr "Domů"
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr "Nic nenalezeno (klikněte pro obnovení kanálu)."
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr "Otevřít normální verzi"
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr "Povolit kategorie"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr "Zapnuto"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr "Vypnuto"
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr "Procházet kategorie jako složky"
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr "Zobrazit obrázky v příspěvcích"
-
-#: plugins/mobile/prefs.php:46
-msgid "Hide read articles and feeds"
-msgstr "Skrýt přečtené články a kanály"
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr "Řadit kanály dle počtu nepřečtených článků"
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2612,11 +2510,11 @@ msgstr ""
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "Odebírat %s v Tiny Tiny RSS?"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Odebírat v Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr ""
 
@@ -2625,12 +2523,8 @@ msgid "Import and export"
 msgstr "Import a export"
 
 #: plugins/import_export/init.php:60
-msgid "Article archive"
-msgstr "Archiv článků"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
-msgstr "Můžete exportovat a importovat články s hvězdičkou a archivované články pro uložení při migraci mezi instancemi tt-rss."
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
+msgstr "Můžete exportovat a importovat vaše články s hvězdičkou a archivované články pro uložení, a nebo při migraci mezi stejnými verzemi instancí tt-rss."
 
 #: plugins/import_export/init.php:65
 msgid "Export my data"
@@ -2640,19 +2534,19 @@ msgstr "Exportovat má data"
 msgid "Import"
 msgstr "Importovat"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr "Nelze importovat: neplatná verze schématu."
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr "Nelze importovat: nerozpoznaný formát dokumentu."
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr "Dokončeno: "
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
@@ -2660,7 +2554,7 @@ msgstr[0] "zpracován %d článek, "
 msgstr[1] "zpracovány %d články, "
 msgstr[2] "zpracováno %d článků, "
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
@@ -2668,7 +2562,7 @@ msgstr[0] "%d importován, "
 msgstr[1] "%d importovány, "
 msgstr[2] "%d importováno, "
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
@@ -2676,15 +2570,15 @@ msgstr[0] "vytvořen %d kanál."
 msgstr[1] "vytvořeny %d kanály."
 msgstr[2] "vytvořeno %d kanálů."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr "Nelze načíst dokument XML."
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr "Připravit data"
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
 msgstr "Žádný soubor nebyl odeslán."
@@ -2710,18 +2604,6 @@ msgstr "Odeslat zprávu"
 msgid "Edit article note"
 msgstr "Upravit poznámky článku"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr "Ukázková výplň"
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr "Ukázková hodnota"
-
-#: plugins/example/init.php:73
-msgid "Set value"
-msgstr "Nastavit hodnotu"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -2845,36 +2727,34 @@ msgstr "Připraveno k aktualizaci."
 msgid "Start update"
 msgstr "Zahájit aktualizaci"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Označit všechny články v %s jako přečtené?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "Označit všechny články starší než 1 den v %s jako přečtené?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "Označit všechny články starší než 1 týden v %s jako přečtené?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "Označit všechny články starší než 2 týdny v %s jako přečtené?"
 
 #: js/functions.js:65
 msgid "The error will be reported to the configured log destination."
-msgstr ""
+msgstr "Chyba bude nahlášena do nastaveného cíle záznamu."
 
 #: js/functions.js:107
 msgid "Are you sure to report this exception to tt-rss.org? The report will include your browser information. Your IP would be saved in the database."
 msgstr "Opravdu si přejete nahlásit výjimku na tt-rss.org? Hlášení bude obsahovat informace o vašem prohlížeči a vaše adresa IP bude uložena v databázi."
 
 #: js/functions.js:236
-#, fuzzy
 msgid "Click to close"
-msgstr "Kliknutím pozastavit"
+msgstr "Kliknutím zavřít"
 
 #: js/functions.js:612
 msgid "Error explained"
@@ -2933,9 +2813,8 @@ msgid "Specified URL doesn't seem to contain any feeds."
 msgstr "Zadaná URL nevypadá jako by obsahovala jakékoliv kanály."
 
 #: js/functions.js:862
-#, fuzzy
 msgid "Expand to select feed"
-msgstr "Upravit vybrané kanály"
+msgstr ""
 
 #: js/functions.js:874
 msgid "Couldn't download the specified URL: %s"
@@ -2943,7 +2822,7 @@ msgstr "Nelze stáhnout zadanou URL: %s"
 
 #: js/functions.js:878
 msgid "XML validation failed: %s"
-msgstr ""
+msgstr "Validace XML selhala: %s"
 
 #: js/functions.js:883
 msgid "You are already subscribed to this feed."
@@ -2970,7 +2849,7 @@ msgid "Subscription reset."
 msgstr "Odběr obnoven."
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "Zrušit odběr %s?"
 
@@ -2992,8 +2871,8 @@ msgid "Trying to change address..."
 msgstr "Zkouším změnit adresu..."
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "Nemůžete upravit tento typ kanálu."
 
@@ -3330,237 +3209,202 @@ msgstr "Zneplatní všechny předchozí generované URL sdílených článků. P
 msgid "Shared URLs cleared."
 msgstr "Sdílené URL vyčištěny."
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Editor štítků"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr "Přihlašuji se k odběru kanálů..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr "Smazat uložená data modulu?"
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr "Vymazat všechny zprávy ze záznamu chyb?"
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Označit všechny články jako přečtené?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr "Označuji všechny kanály jako přečtené..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 msgid "Please enable mail plugin first."
 msgstr "Nejprve si prosím povolte modul odesílání e-mailů."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 msgid "Please enable embed_original plugin first."
 msgstr "Nejprve si prosím povolte modul embed_original."
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr "Vybrat položky podle značek"
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "Nelze zrušit odběr kategorie."
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Nejprve si prosím vyberte kanál."
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "Tento druh kanálu nemůžete přehodnotit."
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Přehodnotit články v %s?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
 msgstr "Přehodnocuji články..."
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr "Je dostupná nová verze."
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 msgid "Cancel search"
 msgstr "Zrušit hledání"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Odebrat článku hvězdičku"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Přidat článku hvězdičku"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Zrušit publikování článku"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Publikovat článek"
 
-#: js/viewfeed.js:653
-#, fuzzy
+#: js/viewfeed.js:654
 msgid "%d article selected"
 msgid_plural "%d articles selected"
-msgstr[0] "Není vybrán žádný článek."
-msgstr[1] "Není vybrán žádný článek."
-msgstr[2] "Není vybrán žádný článek."
-
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+msgstr[0] "%d vybraný článek"
+msgstr[1] "%d vybrané články"
+msgstr[2] "%d vybraných článků"
+
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "Nejsou vybrány žádné články."
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "Smazat %d vybraný článek v %s?"
 msgstr[1] "Smazat %d vybrané články v %s?"
 msgstr[2] "Smazat %d vybraných článků v %s?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "Smazat %d vybraný článek?"
 msgstr[1] "Smazat %d vybrané články?"
 msgstr[2] "Smazat %d vybraných článků?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "Archivovat %d vybraný článek v %s?"
 msgstr[1] "Archivovat %d vybrané články v %s?"
 msgstr[2] "Archivovat %d vybraných článků v %s?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "Přesunout zpět %d archivovaný článek?"
 msgstr[1] "Přesunout zpět %d archivované články?"
 msgstr[2] "Přesunout zpět  %d archivovaných článků?"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
 msgstr "Vezměte na vědomí, že články bez hvězdičky můžou být odstraněny při následující aktualizaci kanálu."
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "Označit %d článek v %s jako přečtený?"
 msgstr[1] "Označit %d články v %s jako přečtené?"
 msgstr[2] "Označit %d článků v %s jako přečtené?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr "Upravit značky článku"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
 msgstr "Ukládám značky článku..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "Není vybrán žádný článek."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "Nenalezeny žádné články k označení"
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "Označit %d článek jako přečtený?"
 msgstr[1] "Označit %d články jako přečtené?"
 msgstr[2] "Označit %d článků jako přečtené?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "Otevřít původní článek"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 msgid "Display article URL"
 msgstr "Zobrazit URL článku"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 msgid "Toggle marked"
 msgstr "Přepnout označené"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Přiřadit štítek"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "Odstranit štítek"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 msgid "Please enter new score for selected articles:"
 msgstr "Zadejte prosím nové hodnocení vybraných článků:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 msgid "Please enter new score for this article:"
 msgstr "Zadejte prosím nové hodnocení článku:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 msgid "Article URL:"
 msgstr "URL článku:"
 
-#: plugins/digest/digest.js:72
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "Označit %d zobrazený článek jako přečtený?"
-msgstr[1] "Označit %d zobrazené články jako přečtené?"
-msgstr[2] "Označit %d zobrazených článků jako přečtené?"
-
-#: plugins/digest/digest.js:290
-msgid "Error: unable to load article."
-msgstr "Chyba: nelze načíst článek."
-
-#: plugins/digest/digest.js:464
-msgid "Click to expand article."
-msgstr "Klikněte pro rozbalení článku."
-
-#: plugins/digest/digest.js:535
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "%d další..."
-msgstr[1] "%d další..."
-msgstr[2] "%d dalších..."
-
-#: plugins/digest/digest.js:542
-msgid "No unread feeds."
-msgstr "Žádné nepřečtené kanály."
-
-#: plugins/digest/digest.js:649
-msgid "Load more..."
-msgstr "Načíst další..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr "Lituji, váš prohlížeč nepodporuje iframe sandbox."
@@ -3634,6 +3478,93 @@ msgstr "Sdílet článek pomocí URL"
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
 msgstr "Před pokračováním zálohujte svůj adresář tt-rss. Napište prosím 'yes' pro pokračování."
 
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Zobrazit/Skrýt prázdné kategorie"
+
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Publikované články a generované kanály"
+
+#~ msgid "Articles shared by URL"
+#~ msgstr "Články sdílené pomocí URL"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Kanály, které nebyly aktualizovány kvůli chybám:"
+
+#~ msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
+#~ msgstr "Váš prohlížeč nepodporuje Javascript, který je vyžadován pro správnou funkci aplikace. Zkontrolujte prosím nastavení prohlížeče."
+
+#~ msgid "Hello,"
+#~ msgstr "Ahoj,"
+
+#~ msgid "Regular version"
+#~ msgstr "Normální verze"
+
+#~ msgid "Home"
+#~ msgstr "Domů"
+
+#~ msgid "Nothing found (click to reload feed)."
+#~ msgstr "Nic nenalezeno (klikněte pro obnovení kanálu)."
+
+#~ msgid "Open regular version"
+#~ msgstr "Otevřít normální verzi"
+
+#~ msgid "Enable categories"
+#~ msgstr "Povolit kategorie"
+
+#~ msgid "ON"
+#~ msgstr "Zapnuto"
+
+#~ msgid "OFF"
+#~ msgstr "Vypnuto"
+
+#~ msgid "Browse categories like folders"
+#~ msgstr "Procházet kategorie jako složky"
+
+#~ msgid "Show images in posts"
+#~ msgstr "Zobrazit obrázky v příspěvcích"
+
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "Skrýt přečtené články a kanály"
+
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "Řadit kanály dle počtu nepřečtených článků"
+
+#~ msgid "Article archive"
+#~ msgstr "Archiv článků"
+
+#~ msgid "Example Pane"
+#~ msgstr "Ukázková výplň"
+
+#~ msgid "Sample value"
+#~ msgstr "Ukázková hodnota"
+
+#~ msgid "Set value"
+#~ msgstr "Nastavit hodnotu"
+
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "Označit %d zobrazený článek jako přečtený?"
+#~ msgstr[1] "Označit %d zobrazené články jako přečtené?"
+#~ msgstr[2] "Označit %d zobrazených článků jako přečtené?"
+
+#~ msgid "Error: unable to load article."
+#~ msgstr "Chyba: nelze načíst článek."
+
+#~ msgid "Click to expand article."
+#~ msgstr "Klikněte pro rozbalení článku."
+
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "%d další..."
+#~ msgstr[1] "%d další..."
+#~ msgstr[2] "%d dalších..."
+
+#~ msgid "No unread feeds."
+#~ msgstr "Žádné nepřečtené kanály."
+
+#~ msgid "Load more..."
+#~ msgstr "Načíst další..."
+
 #~ msgid "Switch to digest..."
 #~ msgstr "Přepnout na souhrn..."
 
index c1f0b383efab56ec85165a8fadaafcd5ed721ffc..16e265de1b12ea66d074366b4f994c55bd7d6314 100755 (executable)
Binary files a/locale/de_DE/LC_MESSAGES/messages.mo and b/locale/de_DE/LC_MESSAGES/messages.mo differ
index 48451cd6e781cefd7f874521d1a234eca122f8b0..37022a7913567920ebf95ed04f1012e29e40d953 100755 (executable)
@@ -11,8 +11,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Tiny Tiny RSS\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
-"PO-Revision-Date: 2013-04-29 17:28+0100\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
+"PO-Revision-Date: 2013-05-14 10:16+0100\n"
 "Last-Translator: Heiko Adams <heiko.adams@gmai.com>\n"
 "Language-Team: \n"
 "Language: de\n"
@@ -55,39 +55,49 @@ msgstr "Nach 3 Monaten"
 msgid "Default interval"
 msgstr "Standard-Intervall"
 
-#: backend.php:83 backend.php:93
+#: backend.php:83
+#: backend.php:93
 msgid "Disable updates"
 msgstr "Nie"
 
-#: backend.php:84 backend.php:94
+#: backend.php:84
+#: backend.php:94
 msgid "Each 15 minutes"
 msgstr "Alle 15 Minuten"
 
-#: backend.php:85 backend.php:95
+#: backend.php:85
+#: backend.php:95
 msgid "Each 30 minutes"
 msgstr "Alle 30 Minuten"
 
-#: backend.php:86 backend.php:96
+#: backend.php:86
+#: backend.php:96
 msgid "Hourly"
 msgstr "Stündlich"
 
-#: backend.php:87 backend.php:97
+#: backend.php:87
+#: backend.php:97
 msgid "Each 4 hours"
 msgstr "Alle 4 Stunden"
 
-#: backend.php:88 backend.php:98
+#: backend.php:88
+#: backend.php:98
 msgid "Each 12 hours"
 msgstr "Alle 12 Stunden"
 
-#: backend.php:89 backend.php:99
+#: backend.php:89
+#: backend.php:99
 msgid "Daily"
 msgstr "Täglich"
 
-#: backend.php:90 backend.php:100
+#: backend.php:90
+#: backend.php:100
 msgid "Weekly"
 msgstr "Wöchentlich"
 
-#: backend.php:103 classes/pref/users.php:123 classes/pref/system.php:44
+#: backend.php:103
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Benutzer"
 
@@ -100,20 +110,12 @@ msgid "Administrator"
 msgstr "Administrator"
 
 #: errors.php:9
-msgid ""
-"This program requires XmlHttpRequest to function properly. Your browser "
-"doesn't seem to support it."
-msgstr ""
-"Dieses Programm benötigt XmlHttpRequest um ordnungsgemäß zu funktionieren. "
-"Ihr Browser scheint dies nicht zu unterstützen."
+msgid "This program requires XmlHttpRequest to function properly. Your browser doesn't seem to support it."
+msgstr "Dieses Programm benötigt XmlHttpRequest um ordnungsgemäß zu funktionieren. Ihr Browser scheint dies nicht zu unterstützen."
 
 #: errors.php:12
-msgid ""
-"This program requires cookies to function properly. Your browser doesn't "
-"seem to support them."
-msgstr ""
-"Dieses Programm benötigt Cookies um ordungsgemäß zu funktionieren. Ihr "
-"Browser scheint diese nicht zu unterstützen."
+msgid "This program requires cookies to function properly. Your browser doesn't seem to support them."
+msgstr "Dieses Programm benötigt Cookies um ordungsgemäß zu funktionieren. Ihr Browser scheint diese nicht zu unterstützen."
 
 #: errors.php:15
 msgid "Backend sanity check failed."
@@ -124,12 +126,8 @@ msgid "Frontend sanity check failed."
 msgstr "Frontend Sicherheitsprüfung fehlgeschlagen."
 
 #: errors.php:19
-msgid ""
-"Incorrect database schema version. &lt;a href='db-updater.php'&gt;Please "
-"update&lt;/a&gt;."
-msgstr ""
-"Falsche Version des Datenbankschemas. &lt;a href='update.php'&gt;Bitte "
-"aktualisieren&lt;/a&gt;."
+msgid "Incorrect database schema version. &lt;a href='db-updater.php'&gt;Please update&lt;/a&gt;."
+msgstr "Falsche Version des Datenbankschemas. &lt;a href='update.php'&gt;Bitte aktualisieren&lt;/a&gt;."
 
 #: errors.php:21
 msgid "Request not authorized."
@@ -140,48 +138,59 @@ msgid "No operation to perform."
 msgstr "Keine Funktion ausgewählt."
 
 #: errors.php:25
-msgid ""
-"Could not display feed: query failed. Please check label match syntax or "
-"local configuration."
-msgstr ""
-"Kann Feed nicht angezeigen: Abfrage fehlgeschlagen. Bitte überprüfen Sie die "
-"Label Such-Syntax oder die lokale Konfiguration."
+msgid "Could not display feed: query failed. Please check label match syntax or local configuration."
+msgstr "Kann Feed nicht angezeigen: Abfrage fehlgeschlagen. Bitte überprüfen Sie die Label Such-Syntax oder die lokale Konfiguration."
 
 #: errors.php:27
 msgid "Denied. Your access level is insufficient to access this page."
-msgstr ""
-"Zugriff verweigert. Sie haben nicht die benötigten Rechte um auf diese Seite "
-"zuzugreifen."
+msgstr "Zugriff verweigert. Sie haben nicht die benötigten Rechte um auf diese Seite zuzugreifen."
 
 #: errors.php:29
 msgid "Configuration check failed"
 msgstr "Konfigurationsprüfung fehlgeschlagen"
 
 #: errors.php:31
-msgid ""
-"Your version of MySQL is not currently supported. Please see official site "
-"for more information."
-msgstr ""
-"Ihre Version von MySQL wird zur Zeit nicht unterstüzt. Für weitere "
-"Informationen schauen Sie sich die offiziellen Website an."
+msgid "Your version of MySQL is not currently supported. Please see official site for more information."
+msgstr "Ihre Version von MySQL wird zur Zeit nicht unterstüzt. Für weitere Informationen schauen Sie sich die offiziellen Website an."
 
 #: errors.php:35
 msgid "SQL escaping test failed, check your database and PHP configuration"
-msgstr ""
-"SQL Escaping Test fehlgeschlagen, überprüfen Sie Ihre Datenbank und PHP "
-"Konfiguration"
-
-#: index.php:128 index.php:145 index.php:265 prefs.php:98
-#: classes/backend.php:5 classes/pref/labels.php:296
-#: classes/pref/filters.php:680 classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61 js/feedlist.js:128 js/feedlist.js:439
-#: js/functions.js:446 js/functions.js:784 js/functions.js:1194
-#: js/functions.js:1330 js/functions.js:1642 js/prefs.js:86 js/prefs.js:576
-#: js/prefs.js:666 js/prefs.js:867 js/prefs.js:1454 js/prefs.js:1507
-#: js/prefs.js:1566 js/prefs.js:1583 js/prefs.js:1599 js/prefs.js:1615
-#: js/prefs.js:1634 js/prefs.js:1807 js/prefs.js:1823 js/tt-rss.js:506
-#: js/tt-rss.js:523 js/viewfeed.js:820 js/viewfeed.js:1249
-#: plugins/import_export/import_export.js:17 plugins/updater/updater.js:17
+msgstr "SQL Escaping Test fehlgeschlagen, überprüfen Sie Ihre Datenbank und PHP Konfiguration"
+
+#: index.php:128
+#: index.php:145
+#: index.php:265
+#: prefs.php:97
+#: classes/backend.php:5
+#: classes/pref/labels.php:296
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
+#: js/feedlist.js:128
+#: js/feedlist.js:441
+#: js/functions.js:446
+#: js/functions.js:784
+#: js/functions.js:1194
+#: js/functions.js:1330
+#: js/functions.js:1642
+#: js/prefs.js:86
+#: js/prefs.js:576
+#: js/prefs.js:666
+#: js/prefs.js:867
+#: js/prefs.js:1454
+#: js/prefs.js:1507
+#: js/prefs.js:1566
+#: js/prefs.js:1583
+#: js/prefs.js:1599
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
+#: plugins/import_export/import_export.js:17
+#: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
 msgstr "Ladevorgang, bitte warten..."
 
@@ -201,15 +210,21 @@ msgstr "Adaptiv"
 msgid "All Articles"
 msgstr "Alle Artikel"
 
-#: index.php:167 include/functions.php:2007 classes/feeds.php:98
+#: index.php:167
+#: include/functions.php:2008
+#: classes/feeds.php:98
 msgid "Starred"
 msgstr "Markiert"
 
-#: index.php:168 include/functions.php:2008 classes/feeds.php:99
+#: index.php:168
+#: include/functions.php:2009
+#: classes/feeds.php:99
 msgid "Published"
 msgstr "Veröffentlicht"
 
-#: index.php:169 classes/feeds.php:85 classes/feeds.php:97
+#: index.php:169
+#: classes/feeds.php:85
+#: classes/feeds.php:97
 msgid "Unread"
 msgstr "Ungelesen"
 
@@ -245,9 +260,13 @@ msgstr "älteste zuerst"
 msgid "Title"
 msgstr "Titel"
 
-#: index.php:185 index.php:233 include/functions.php:1997
-#: classes/feeds.php:103 classes/feeds.php:441 js/FeedTree.js:128
-#: js/FeedTree.js:156 plugins/digest/digest.js:647
+#: index.php:185
+#: index.php:233
+#: include/functions.php:1998
+#: classes/feeds.php:103
+#: classes/feeds.php:424
+#: js/FeedTree.js:128
+#: js/FeedTree.js:156
 msgid "Mark as read"
 msgstr "Als gelesen markieren"
 
@@ -287,7 +306,8 @@ msgstr "Suchen..."
 msgid "Feed actions:"
 msgstr "Feed-Aktionen:"
 
-#: index.php:228 classes/handler/public.php:559
+#: index.php:228
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Feed abonnieren..."
 
@@ -299,7 +319,9 @@ msgstr "Feed bearbeiten..."
 msgid "Rescore feed"
 msgstr "Feed neu bewerten"
 
-#: index.php:231 classes/pref/feeds.php:759 classes/pref/feeds.php:1340
+#: index.php:231
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Feed abbestellen"
@@ -316,7 +338,8 @@ msgstr "Gelesene zeigen/verstecken"
 msgid "Other actions:"
 msgstr "Andere Aktionen:"
 
-#: index.php:236 include/functions.php:1983
+#: index.php:236
+#: include/functions.php:1984
 msgid "Toggle widescreen mode"
 msgstr "Breitbild-Modus umschalten"
 
@@ -336,48 +359,54 @@ msgstr "Filter erstellen..."
 msgid "Keyboard shortcuts help"
 msgstr "Tastaturkürzel..."
 
-#: index.php:249 plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
+#: index.php:249
 msgid "Logout"
 msgstr "Abmelden"
 
-#: prefs.php:33 prefs.php:116 include/functions.php:2010
+#: prefs.php:33
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Einstellungen"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Tastaturkürzel"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Einstellungen verlassen"
 
-#: prefs.php:119 classes/pref/feeds.php:107 classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Feeds"
 
-#: prefs.php:122 classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Filter"
 
-#: prefs.php:125 include/functions.php:1176 include/functions.php:1831
-#: classes/pref/labels.php:90 plugins/mobile/mobile-functions.php:201
+#: prefs.php:124
+#: include/functions.php:1176
+#: include/functions.php:1832
+#: classes/pref/labels.php:90
 msgid "Labels"
 msgstr "Label"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Benutzer"
 
-#: prefs.php:132
+#: prefs.php:131
 msgid "System"
 msgstr "System"
 
-#: register.php:184 include/login_form.php:238
+#: register.php:184
+#: include/login_form.php:238
 msgid "Create new account"
 msgstr "Neues Konto erstellen"
 
@@ -385,24 +414,27 @@ msgstr "Neues Konto erstellen"
 msgid "New user registrations are administratively disabled."
 msgstr "Die Registrierung für neue Benutzer wurde administrativ deaktiviert."
 
-#: register.php:194 register.php:239 register.php:252 register.php:267
-#: register.php:286 register.php:334 register.php:344 register.php:356
-#: classes/handler/public.php:629 classes/handler/public.php:717
-#: classes/handler/public.php:799 classes/handler/public.php:874
-#: classes/handler/public.php:888 classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: register.php:194
+#: register.php:239
+#: register.php:252
+#: register.php:267
+#: register.php:286
+#: register.php:334
+#: register.php:344
+#: register.php:356
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Zu Tiny Tiny RSS zurückkehren"
 
 #: register.php:215
-msgid ""
-"Your temporary password will be sent to the specified email. Accounts, which "
-"were not logged in once, are erased automatically 24 hours after temporary "
-"password is sent."
-msgstr ""
-"Ihr vorübergehendes Passwort wird an Ihre angegebene E-Mail-Adresse "
-"gesendet. Konten, die nicht innerhalb von 24 Stunden aktiviert wurden, "
-"werden gelöscht."
+msgid "Your temporary password will be sent to the specified email. Accounts, which were not logged in once, are erased automatically 24 hours after temporary password is sent."
+msgstr "Ihr vorübergehendes Passwort wird an Ihre angegebene E-Mail-Adresse gesendet. Konten, die nicht innerhalb von 24 Stunden aktiviert wurden, werden gelöscht."
 
 #: register.php:221
 msgid "Desired login:"
@@ -412,11 +444,13 @@ msgstr "Gewünschter Benutzername:"
 msgid "Check availability"
 msgstr "Verfügbarkeit prüfen"
 
-#: register.php:226 classes/handler/public.php:757
+#: register.php:226
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "E-Mail:"
 
-#: register.php:229 classes/handler/public.php:762
+#: register.php:229
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "Wieviel ist zwei plus zwei:"
 
@@ -448,9 +482,13 @@ msgstr "Registrierung für neue Benutzer ist momentan geschlossen."
 msgid "Tiny Tiny RSS data update script."
 msgstr "Skript zum Updaten von Tiny Tiny RSS."
 
-#: include/digest.php:109 include/functions.php:1185
-#: include/functions.php:1732 include/functions.php:1817
-#: include/functions.php:1839 classes/opml.php:416 classes/pref/feeds.php:220
+#: include/digest.php:109
+#: include/functions.php:1185
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
+#: classes/opml.php:416
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Unkategorisiert"
 
@@ -465,317 +503,348 @@ msgstr[1] "%d archivierte Artikel"
 msgid "No feeds found."
 msgstr "Keine Feeds gefunden."
 
-#: include/functions.php:1174 include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Sonderfeeds"
 
-#: include/functions.php:1681 classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: include/functions.php:1681
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Alle Feeds"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Markierte Artikel"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Veröffentlichte Artikel"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Neue Artikel"
 
-#: include/functions.php:1890 include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Alle Artikel"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "Archivierte Artikel"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr "Kürzlich gelesen"
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Navigation"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 msgid "Open next feed"
 msgstr "Nächsten Feed öffnen"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr "Vorherigen Feed öffnen"
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 msgid "Open next article"
 msgstr "Nächsten Artikel öffnen"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 msgid "Open previous article"
 msgstr "Vorherigen Artikel öffnen"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr "Nächsten Artikel laden (lange Artikel werden nicht gescrollt)"
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr "Vorherigen Artikel laden (lange Artikel werden nicht gescrollt)"
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
-msgstr ""
-"Zum nächsten Artikel springen (nicht als gelesen markieren oder ausklappen)"
+msgstr "Zum nächsten Artikel springen (nicht als gelesen markieren oder ausklappen)"
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
-msgstr ""
-"Zum vorherigen Artikel springen (nicht als gelesen markieren oder ausklappen)"
+msgstr "Zum vorherigen Artikel springen (nicht als gelesen markieren oder ausklappen)"
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Suchdialog anzeigen"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 msgid "Article"
 msgstr "Artikel"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Markierung ein-/ausschalten"
 
-#: include/functions.php:1969 js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Veröffentlichung ein-/ausschalten"
 
-#: include/functions.php:1970 js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Gelesen-Status umschalten"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Tags bearbeiten"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 msgid "Dismiss selected"
 msgstr "Ausgewählte Artikel verwerfen"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 msgid "Dismiss read"
 msgstr "gelesene Artikel verwerfen"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 msgid "Open in new window"
 msgstr "In neuem Fenster öffnen"
 
-#: include/functions.php:1975 js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr "Untere als gelesen markieren"
 
-#: include/functions.php:1976 js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr "Obige als gelesen markieren"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 msgid "Scroll down"
 msgstr "Nach unten scrollen"
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr "Nach oben scrollen"
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 msgid "Select article under cursor"
 msgstr "Artikel unter Mauszeiger auswählen"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr "Artikel per E-Mail versenden"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 msgid "Close/collapse article"
 msgstr "Artikel schließen/verbergen"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 msgid "Toggle article expansion (combined mode)"
 msgstr "Kombinierte Feed-Anzeige umschalten"
 
-#: include/functions.php:1984 plugins/embed_original/init.php:31
+#: include/functions.php:1985
+#: plugins/embed_original/init.php:31
 msgid "Toggle embed original"
 msgstr "\"Original einbetten\" umschalten"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 msgid "Article selection"
 msgstr "Artikelauswahl"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr "Alle Artikel auswählen"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 msgid "Select unread"
 msgstr "Ungelesene Artikel auswählen"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 msgid "Select starred"
 msgstr "Markierte Artikel auswählen"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 msgid "Select published"
 msgstr "Veröffentlichte Artikel auswählen"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 msgid "Invert selection"
 msgstr "Auswahl umkehren"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 msgid "Deselect everything"
 msgstr "Auswahl aufheben"
 
-#: include/functions.php:1992 classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Feed"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 msgid "Refresh current feed"
 msgstr "Aktuellen Feed aktualisieren"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 msgid "Un/hide read feeds"
 msgstr "Gelesene Feeds zeigen/verstecken"
 
-#: include/functions.php:1995 classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Feed abonnieren"
 
-#: include/functions.php:1996 js/FeedTree.js:135 js/PrefFeedTree.js:67
+#: include/functions.php:1997
+#: js/FeedTree.js:135
+#: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Feed bearbeiten"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 msgid "Reverse headlines"
 msgstr "Schlagzeilensortierung umkehren"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 msgid "Debug feed update"
 msgstr "Aktualisierung im Diagnose-Modus durchführen"
 
-#: include/functions.php:2000 js/FeedTree.js:178
+#: include/functions.php:2001
+#: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Alle Feeds als gelesen markieren"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 msgid "Un/collapse current category"
 msgstr "Aktuelle Kategorie ein-/ausklappen:"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 msgid "Toggle combined mode"
 msgstr "Kombinierte Feed-Anzeige umschalten"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 msgid "Toggle auto expand in combined mode"
 msgstr "Kombinierte Feed-Anzeige umschalten"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 msgid "Go to"
 msgstr "Gehe zu"
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr "Neu"
 
-#: include/functions.php:2009 js/tt-rss.js:456 js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Tagwolke"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 msgid "Other"
 msgstr "Sonstiges"
 
-#: include/functions.php:2012 classes/pref/labels.php:281
+#: include/functions.php:2013
+#: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Label erstellen"
 
-#: include/functions.php:2013 classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Filter erstellen"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 msgid "Un/collapse sidebar"
 msgstr "Seitenleiste ein-/ausklappen"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 msgid "Show help dialog"
 msgstr "Hilfe anzeigen"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr "Suchergebnisse: %s"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155 include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "Keine Tags"
 
-#: include/functions.php:3165 classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Tags für diesen Artikel bearbeiten"
 
-#: include/functions.php:3197 classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 msgid "Originally from:"
 msgstr "Original von:"
 
-#: include/functions.php:3210 classes/feeds.php:654 classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr "Feed URL"
 
-#: include/functions.php:3242 classes/dlg.php:37 classes/dlg.php:60
-#: classes/dlg.php:93 classes/dlg.php:159 classes/dlg.php:190
-#: classes/dlg.php:217 classes/dlg.php:250 classes/dlg.php:262
-#: classes/backend.php:105 classes/pref/users.php:99
-#: classes/pref/filters.php:147 classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641 classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405 plugins/import_export/init.php:450
-#: plugins/googlereaderimport/init.php:193 plugins/share/init.php:65
+#: include/functions.php:3241
+#: classes/dlg.php:37
+#: classes/dlg.php:60
+#: classes/dlg.php:93
+#: classes/dlg.php:159
+#: classes/dlg.php:190
+#: classes/dlg.php:217
+#: classes/dlg.php:250
+#: classes/dlg.php:262
+#: classes/backend.php:105
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
+#: plugins/googlereaderimport/init.php:193
+#: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Fenster schließen"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr "(Notiz bearbeiten)"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "unbekannter Typ"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 msgid "Attachments"
 msgstr "Anhänge"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr "LibXML Fehler %s in Zeile %d (Spalte %d): %s"
 
-#: include/login_form.php:183 classes/handler/public.php:475
-#: classes/handler/public.php:752 plugins/mobile/login_form.php:40
+#: include/login_form.php:183
+#: classes/handler/public.php:475
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Benutzername:"
 
-#: include/login_form.php:194 classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
+#: include/login_form.php:194
+#: classes/handler/public.php:478
 msgid "Password:"
 msgstr "Passwort:"
 
@@ -787,8 +856,10 @@ msgstr "Ich habe mein Passwort vergessen"
 msgid "Profile:"
 msgstr "Profil:"
 
-#: include/login_form.php:209 classes/handler/public.php:233
-#: classes/rpc.php:63 classes/pref/prefs.php:1036
+#: include/login_form.php:209
+#: classes/handler/public.php:233
+#: classes/rpc.php:63
+#: classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "Standardprofil"
 
@@ -798,15 +869,14 @@ msgstr "Weniger Datenverkehr nutzen"
 
 #: include/login_form.php:221
 msgid "Does not display images in articles, reduces automatic refreshes."
-msgstr ""
-"Zeigt keine Bilder in Artikeln, reduziert die automatischen Aktualisierungen."
+msgstr "Zeigt keine Bilder in Artikeln, reduziert die automatischen Aktualisierungen."
 
 #: include/login_form.php:229
 msgid "Remember me"
 msgstr "Erinnere dich an mich"
 
-#: include/login_form.php:235 classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
+#: include/login_form.php:235
+#: classes/handler/public.php:483
 msgid "Log in"
 msgstr "Anmelden"
 
@@ -822,28 +892,44 @@ msgstr "Artikel nicht gefunden."
 msgid "Tags for this article (separated by commas):"
 msgstr "Tags für diesen Artikel (durch Komma getrennt):"
 
-#: classes/article.php:204 classes/pref/users.php:176
-#: classes/pref/labels.php:79 classes/pref/filters.php:405
-#: classes/pref/prefs.php:982 classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923 plugins/nsfw/init.php:83
-#: plugins/note/init.php:51 plugins/instances/init.php:245
+#: classes/article.php:204
+#: classes/pref/users.php:172
+#: classes/pref/labels.php:79
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
+#: plugins/nsfw/init.php:83
+#: plugins/note/init.php:51
+#: plugins/instances/init.php:245
 msgid "Save"
 msgstr "Speichern"
 
-#: classes/article.php:206 classes/handler/public.php:452
-#: classes/handler/public.php:486 classes/feeds.php:1037
-#: classes/feeds.php:1089 classes/feeds.php:1149 classes/pref/users.php:178
-#: classes/pref/labels.php:81 classes/pref/filters.php:408
-#: classes/pref/filters.php:803 classes/pref/filters.php:879
-#: classes/pref/filters.php:946 classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776 classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853 plugins/mail/init.php:124
-#: plugins/note/init.php:53 plugins/instances/init.php:248
+#: classes/article.php:206
+#: classes/handler/public.php:452
+#: classes/handler/public.php:486
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
+#: classes/pref/labels.php:81
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
+#: plugins/mail/init.php:124
+#: plugins/note/init.php:53
+#: plugins/instances/init.php:248
 #: plugins/instances/init.php:436
 msgid "Cancel"
 msgstr "Abbrechen"
 
-#: classes/handler/public.php:416 plugins/bookmarklets/init.php:36
+#: classes/handler/public.php:416
+#: plugins/bookmarklets/init.php:40
 msgid "Share with Tiny Tiny RSS"
 msgstr "Teilen mit Tiny Tiny RSS"
 
@@ -851,8 +937,10 @@ msgstr "Teilen mit Tiny Tiny RSS"
 msgid "Title:"
 msgstr "Titel:"
 
-#: classes/handler/public.php:426 classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811 plugins/instances/init.php:212
+#: classes/handler/public.php:426
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
+#: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
 msgstr "URL:"
@@ -877,133 +965,118 @@ msgstr "Teilen"
 msgid "Not logged in"
 msgstr "Nicht angemeldet"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Benutzername oder Passwort falsch"
 
-#: classes/handler/public.php:565 classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "<b>%s</b> bereits abonniert."
 
-#: classes/handler/public.php:568 classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "<b>%s</b> abonniert."
 
-#: classes/handler/public.php:571 classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Konnte <b>%s</b> nicht abonnieren."
 
-#: classes/handler/public.php:574 classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "Keine Feeds in <b>%s</b> gefunden."
 
-#: classes/handler/public.php:577 classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 msgid "Multiple feed URLs found."
 msgstr "Mehrere Feed-URLs gefunden."
 
-#: classes/handler/public.php:581 classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
-msgstr ""
-"Das Abonnieren von <b>%s</b> ist fehlgeschlagen.<br>Der Feed konnte nicht "
-"heruntergeladen werden."
+msgstr "Das Abonnieren von <b>%s</b> ist fehlgeschlagen.<br>Der Feed konnte nicht heruntergeladen werden."
 
-#: classes/handler/public.php:599 classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr "Ausgewählte Feeds abonnieren"
 
-#: classes/handler/public.php:624 classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Abonnementoptionen bearbeiten"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 msgid "Password recovery"
 msgstr "Passwort-Wiederherstellung"
 
-#: classes/handler/public.php:745
-msgid ""
-"You will need to provide valid account name and email. New password will be "
-"sent on your email address."
-msgstr ""
-"Sie müssen einen gültigen Benutzernamen und EMail angeben. Das neue Passwort "
-"wird an Ihre EMail gesendet."
+#: classes/handler/public.php:751
+msgid "You will need to provide valid account name and email. New password will be sent on your email address."
+msgstr "Sie müssen einen gültigen Benutzernamen und EMail angeben. Das neue Passwort wird an Ihre EMail gesendet."
 
-#: classes/handler/public.php:767 classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Passwort zurücksetzen"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr "Einige der benötigten Eingaben fehlen oder sind falsch."
 
-#: classes/handler/public.php:781 classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 msgid "Go back"
 msgstr "Zurück"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
-msgstr ""
-"Entschuldigung, diese Kombination von Benutzername und E-Mail konnte nicht "
-"gefunden werden."
+msgstr "Entschuldigung, diese Kombination von Benutzername und E-Mail konnte nicht gefunden werden."
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "Sie haben nicht die benötigten Rechte, um dieses Skript auszuführen."
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Datenbank-Updater"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Aktualisierungen durchführen"
 
 #: classes/dlg.php:16
-msgid ""
-"If you have imported labels and/or filters, you might need to reload "
-"preferences to see your new data."
-msgstr ""
-"Wenn Label und/oder Filter importiert wurden, müssen die Einstellungen "
-"erneut geladen werden, um alle neuen Einstellungen zu sehen."
+msgid "If you have imported labels and/or filters, you might need to reload preferences to see your new data."
+msgstr "Wenn Label und/oder Filter importiert wurden, müssen die Einstellungen erneut geladen werden, um alle neuen Einstellungen zu sehen."
 
 #: classes/dlg.php:48
 msgid "Your Public OPML URL is:"
 msgstr "Ihre öffentliche OPML-URL lautet:"
 
-#: classes/dlg.php:57 classes/dlg.php:214
+#: classes/dlg.php:57
+#: classes/dlg.php:214
 msgid "Generate new URL"
 msgstr "Erzeuge neue URL"
 
 #: classes/dlg.php:71
-msgid ""
-"Update daemon is enabled in configuration, but daemon process is not "
-"running, which prevents all feeds from updating. Please start the daemon "
-"process or contact instance owner."
-msgstr ""
-"Der Aktualisierungs-Daemon ist in den Einstellungen aktiviert, aber der "
-"Daemon Prozess läuft nicht, weshalb keine Feeds aktualisiert werden können. "
-"Bitte starten Sie den Prozess des Daemons oder benachrichtigen Sie den "
-"Besitzer der Instanz."
+msgid "Update daemon is enabled in configuration, but daemon process is not running, which prevents all feeds from updating. Please start the daemon process or contact instance owner."
+msgstr "Der Aktualisierungs-Daemon ist in den Einstellungen aktiviert, aber der Daemon Prozess läuft nicht, weshalb keine Feeds aktualisiert werden können. Bitte starten Sie den Prozess des Daemons oder benachrichtigen Sie den Besitzer der Instanz."
 
-#: classes/dlg.php:75 classes/dlg.php:84
+#: classes/dlg.php:75
+#: classes/dlg.php:84
 msgid "Last update:"
 msgstr "Letzte Aktualisierung:"
 
 #: classes/dlg.php:80
-msgid ""
-"Update daemon is taking too long to perform a feed update. This could "
-"indicate a problem like crash or a hang. Please check the daemon process or "
-"contact instance owner."
-msgstr ""
-"Der Aktualisierungs Daemon braucht zu lange um eine Aktualisierung "
-"durchzuführen. Dies könnte auf ein Problem wie einen Absturz oder eine "
-"Blockierung hinweisen. Bitte überprüfen Sie den Prozess des Daemons oder "
-"benachrichtigen Sie den Besitzer des Instanz."
+msgid "Update daemon is taking too long to perform a feed update. This could indicate a problem like crash or a hang. Please check the daemon process or contact instance owner."
+msgstr "Der Aktualisierungs Daemon braucht zu lange um eine Aktualisierung durchzuführen. Dies könnte auf ein Problem wie einen Absturz oder eine Blockierung hinweisen. Bitte überprüfen Sie den Prozess des Daemons oder benachrichtigen Sie den Besitzer des Instanz."
 
 #: classes/dlg.php:166
 msgid "Match:"
@@ -1029,20 +1102,18 @@ msgstr "Einträge anzeigen"
 msgid "You can view this feed as RSS using the following URL:"
 msgstr "Sie finden diesen Feed als RSS unter der folgenden URL:"
 
-#: classes/dlg.php:233 plugins/updater/init.php:331
+#: classes/dlg.php:233
+#: plugins/updater/init.php:331
 #, php-format
 msgid "New version of Tiny Tiny RSS is available (%s)."
 msgstr "Neue Version von Tiny Tiny RSS verfügbar (%s)."
 
 #: classes/dlg.php:241
-msgid ""
-"You can update using built-in updater in the Preferences or by using update."
-"php"
-msgstr ""
-"Um ein Update durchzuführen können Sie den eingebauten Updater in den "
-"Einstellungen oder die update.php benutzen"
+msgid "You can update using built-in updater in the Preferences or by using update.php"
+msgstr "Um ein Update durchzuführen können Sie den eingebauten Updater in den Einstellungen oder die update.php benutzen"
 
-#: classes/dlg.php:245 plugins/updater/init.php:335
+#: classes/dlg.php:245
+#: plugins/updater/init.php:335
 msgid "See the release notes"
 msgstr "Release notes anzeigen"
 
@@ -1052,9 +1123,7 @@ msgstr "Download"
 
 #: classes/dlg.php:255
 msgid "Error receiving version information or no new version available."
-msgstr ""
-"Das Abrufen von Update-Informationen ist fehlgeschlagen oder es ist bereits "
-"die neuste Version installiert."
+msgstr "Das Abrufen von Update-Informationen ist fehlgeschlagen oder es ist bereits die neuste Version installiert."
 
 #: classes/feeds.php:56
 #, php-format
@@ -1065,7 +1134,9 @@ msgstr "Letzte Aktualisierung: %s"
 msgid "View as RSS feed"
 msgstr "Als RSS-Feed anzeigen"
 
-#: classes/feeds.php:76 classes/feeds.php:128 classes/pref/feeds.php:1496
+#: classes/feeds.php:76
+#: classes/feeds.php:128
+#: classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "Als RSS anzeigen"
 
@@ -1073,12 +1144,19 @@ msgstr "Als RSS anzeigen"
 msgid "Select:"
 msgstr "Auswahl:"
 
-#: classes/feeds.php:84 classes/pref/users.php:345 classes/pref/labels.php:275
-#: classes/pref/filters.php:282 classes/pref/filters.php:330
-#: classes/pref/filters.php:648 classes/pref/filters.php:736
-#: classes/pref/filters.php:763 classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323 classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659 plugins/instances/init.php:287
+#: classes/feeds.php:84
+#: classes/pref/users.php:341
+#: classes/pref/labels.php:275
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
+#: plugins/instances/init.php:287
 msgid "All"
 msgstr "Alle"
 
@@ -1086,12 +1164,19 @@ msgstr "Alle"
 msgid "Invert"
 msgstr "Umkehren"
 
-#: classes/feeds.php:87 classes/pref/users.php:347 classes/pref/labels.php:277
-#: classes/pref/filters.php:284 classes/pref/filters.php:332
-#: classes/pref/filters.php:650 classes/pref/filters.php:738
-#: classes/pref/filters.php:765 classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325 classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661 plugins/instances/init.php:289
+#: classes/feeds.php:87
+#: classes/pref/users.php:343
+#: classes/pref/labels.php:277
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
+#: plugins/instances/init.php:289
 msgid "None"
 msgstr "Keine"
 
@@ -1119,13 +1204,17 @@ msgstr "Archiv"
 msgid "Move back"
 msgstr "Zurückgehen"
 
-#: classes/feeds.php:110 classes/pref/filters.php:291
-#: classes/pref/filters.php:339 classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/feeds.php:110
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "Löschen"
 
-#: classes/feeds.php:115 classes/feeds.php:120 plugins/mailto/init.php:25
+#: classes/feeds.php:115
+#: classes/feeds.php:120
+#: plugins/mailto/init.php:25
 #: plugins/mail/init.php:26
 msgid "Forward by email"
 msgstr "Per E-Mail weiterleiten"
@@ -1134,7 +1223,8 @@ msgstr "Per E-Mail weiterleiten"
 msgid "Feed:"
 msgstr "Feed:"
 
-#: classes/feeds.php:197 classes/feeds.php:837
+#: classes/feeds.php:197
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Feed nicht gefunden."
 
@@ -1147,127 +1237,142 @@ msgstr "Niemals"
 msgid "Imported at %s"
 msgstr "Importiert nach %s"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "als gelesen markieren"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 msgid "Collapse article"
 msgstr "Artikel einklappen"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "Keine ungelesenen Artikel zum Anzeigen gefunden."
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "Keine aktualisierten Artikel zum Anzeigen gefunden."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "Keine markierten Artikel zum Anzeigen gefunden."
 
-#: classes/feeds.php:748
-msgid ""
-"No articles found to display. You can assign articles to labels manually "
-"from article header context menu (applies to all selected articles) or use a "
-"filter."
-msgstr ""
-"Keine Artikel zum Anzeigen gefunden. Sie können Artikel zu Labeln manuell "
-"hinzufügen (siehe obiges Aktionsmenü) oder durch das Benutzen von Filtern."
+#: classes/feeds.php:735
+msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
+msgstr "Keine Artikel zum Anzeigen gefunden. Sie können Artikel zu Labeln manuell hinzufügen (siehe obiges Aktionsmenü) oder durch das Benutzen von Filtern."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "Keine Artikel zum Anzeigen gefunden."
 
-#: classes/feeds.php:765 classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "Feeds zuletzt aktualisiert am %s"
 
-#: classes/feeds.php:775 classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "Einige Feeds haben Aktualisierungsfehler (klicken für Details)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Keinen Feed ausgewählt."
 
-#: classes/feeds.php:975 classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 msgid "Feed or site URL"
 msgstr "URL von Feed oder Seite"
 
-#: classes/feeds.php:989 classes/pref/feeds.php:592 classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "In Kategorie einordnen:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "Verfügbare Feeds"
 
-#: classes/feeds.php:1009 classes/pref/users.php:139
-#: classes/pref/feeds.php:622 classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Authentifizierung"
 
-#: classes/feeds.php:1013 classes/pref/users.php:402
-#: classes/pref/feeds.php:628 classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Benutzername"
 
-#: classes/feeds.php:1016 classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641 classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/feeds.php:1003
+#: classes/pref/prefs.php:260
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "Passwort"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Dieser Feed erfordert Authentifizierung."
 
-#: classes/feeds.php:1031 classes/feeds.php:1087 classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Abonnieren"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "Weitere Feeds"
 
-#: classes/feeds.php:1057 classes/feeds.php:1148 classes/pref/users.php:332
-#: classes/pref/filters.php:641 classes/pref/feeds.php:1316 js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Suchen"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr "Beliebte Feeds"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr "Feed-Archiv"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
 msgstr "Grenzwert:"
 
-#: classes/feeds.php:1088 classes/pref/users.php:358
-#: classes/pref/labels.php:284 classes/pref/filters.php:398
-#: classes/pref/filters.php:667 classes/pref/feeds.php:746
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
+#: classes/pref/labels.php:284
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Entfernen"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "Suche nach"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Suche begrenzen auf:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Diesen Feed"
 
@@ -1291,7 +1396,8 @@ msgstr "Strg"
 msgid "Help topic not found."
 msgstr "Hilfethema nicht gefunden."
 
-#: classes/opml.php:28 classes/opml.php:33
+#: classes/opml.php:28
+#: classes/opml.php:33
 msgid "OPML Utility"
 msgstr "OPML Werkzeug"
 
@@ -1337,18 +1443,21 @@ msgstr "Füge Filter hinzu..."
 msgid "Processing category: %s"
 msgstr "Verarbeite Kategorie: %s"
 
-#: classes/opml.php:465 plugins/import_export/init.php:418
+#: classes/opml.php:465
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr "Upload schlug fehl. Fehlercode: %d"
 
-#: classes/opml.php:479 plugins/import_export/init.php:432
+#: classes/opml.php:479
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 msgid "Unable to move uploaded file."
 msgstr "Fehler: konnte die hochgeladene Datei nicht verschieben."
 
-#: classes/opml.php:483 plugins/import_export/init.php:436
+#: classes/opml.php:483
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "Fehler: bitte eine OPML-Datei hochladen."
@@ -1357,21 +1466,23 @@ msgstr "Fehler: bitte eine OPML-Datei hochladen."
 msgid "Error: unable to find moved OPML file."
 msgstr "Fehler: konnte die verschobene OPML-Datei nicht finden."
 
-#: classes/opml.php:499 plugins/googlereaderimport/init.php:186
+#: classes/opml.php:499
+#: plugins/googlereaderimport/init.php:186
 msgid "Error while parsing document."
 msgstr "Fehler beim Parsen des Dokuments."
 
-#: classes/pref/users.php:6 classes/pref/system.php:8
+#: classes/pref/users.php:6
+#: classes/pref/system.php:8
 #: plugins/instances/init.php:154
 msgid "Your access level is insufficient to open this tab."
-msgstr ""
-"Sie haben nicht die benötigten Rechte um diese Registerkarte zu öffnen."
+msgstr "Sie haben nicht die benötigten Rechte um diese Registerkarte zu öffnen."
 
 #: classes/pref/users.php:34
 msgid "User not found"
 msgstr "Benutzer nicht gefunden"
 
-#: classes/pref/users.php:53 classes/pref/users.php:404
+#: classes/pref/users.php:53
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Registriert"
 
@@ -1387,96 +1498,106 @@ msgstr "Anzahl abonnierter Feeds"
 msgid "Subscribed feeds"
 msgstr "Abonnierte Feeds"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Zugriffsberechtigung: "
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Passwort ändern in"
 
-#: classes/pref/users.php:161 classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Optionen"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "E-Mail: "
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "Benutzer <b>%s</b> mit Passwort <b>%s</b> hinzugefügt"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "Konnte den Benutzer <b>%s</b> nicht anlegen"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "Benutzer <b>%s</b> existiert bereits."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr "Passwort für Benutzer <b>%s</b> auf <b>%s</b> geändert"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr "Sende das neue Passwort von Benutzer <b>%s</b> an <b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] Benachrichtigung: Passwort geändert"
 
-#: classes/pref/users.php:342 classes/pref/labels.php:272
-#: classes/pref/filters.php:279 classes/pref/filters.php:327
-#: classes/pref/filters.php:645 classes/pref/filters.php:733
-#: classes/pref/filters.php:760 classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320 classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656 plugins/instances/init.php:284
+#: classes/pref/users.php:338
+#: classes/pref/labels.php:272
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
+#: plugins/instances/init.php:284
 msgid "Select"
 msgstr "Auswahl"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Benutzer anlegen"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "Details"
 
-#: classes/pref/users.php:356 classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Zugriffsberechtigung"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Zuletzt angemeldet"
 
-#: classes/pref/users.php:426 plugins/instances/init.php:334
+#: classes/pref/users.php:420
+#: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Zum Bearbeiten klicken"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "Keine Benutzer definiert."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "Keine zugehörigen Benutzer gefunden."
 
-#: classes/pref/labels.php:22 classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/labels.php:22
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Titel"
 
@@ -1501,117 +1622,124 @@ msgstr "Label <b>%s</b> erstellt"
 msgid "Clear colors"
 msgstr "Farben löschen"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr "Artikel, die auf diesen Filter passen: "
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 msgid "No recent articles matching this filter have been found."
-msgstr ""
-"Keine kürzlich erschienenen Artikel gefunden, die auf diesen Filter passen."
+msgstr "Keine kürzlich erschienenen Artikel gefunden, die auf diesen Filter passen."
 
-#: classes/pref/filters.php:137
-msgid ""
-"Complex expressions might not give results while testing due to issues with "
-"database server regexp implementation."
-msgstr ""
-"Komplexe Filter liefern im Testmodus möglichweise keine Ergebnisse, da es "
-"Probleme mit der RegExp-Implementierung des Datenbankservers gibt."
+#: classes/pref/filters.php:135
+msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
+msgstr "Komplexe Filter liefern im Testmodus möglichweise keine Ergebnisse, da es Probleme mit der RegExp-Implementierung des Datenbankservers gibt."
 
-#: classes/pref/filters.php:274 classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Kriterien"
 
-#: classes/pref/filters.php:288 classes/pref/filters.php:336
-#: classes/pref/filters.php:742 classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: classes/pref/filters.php:322 classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 msgid "Apply actions"
 msgstr "Aktionen anwenden"
 
-#: classes/pref/filters.php:372 classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Aktiviert"
 
-#: classes/pref/filters.php:381 classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr "Ein erfülltes Kriterium ist ausreichend"
 
-#: classes/pref/filters.php:390 classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 msgid "Inverse matching"
 msgstr "Invertierte Übereinstimmung"
 
-#: classes/pref/filters.php:402 classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Test"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 msgid "(inverse)"
 msgstr "Invertiert"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr "%s innerhalb %s von %s %s"
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr "Zusammenfügen"
 
-#: classes/pref/filters.php:663 classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "Sortierreihenfolge zurücksetzen"
 
-#: classes/pref/filters.php:671 classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Artikel neu bewerten"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Erstellen"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr "Invertiere reguläre Ausdrücke"
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "in Feld"
 
-#: classes/pref/filters.php:863 js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
+#: classes/pref/filters.php:861
+#: js/PrefFilterTree.js:45
 msgid "in"
 msgstr "in"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 msgid "Save rule"
 msgstr "Regel speichern"
 
-#: classes/pref/filters.php:876 js/functions.js:1013
+#: classes/pref/filters.php:874
+#: js/functions.js:1013
 msgid "Add rule"
 msgstr "Regel hinzufügen"
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Aktion ausführen"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "mit Parametern:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 msgid "Save action"
 msgstr "Aktion speichern"
 
-#: classes/pref/filters.php:943 js/functions.js:1039
+#: classes/pref/filters.php:941
+#: js/functions.js:1039
 msgid "Add action"
 msgstr "Aktion hinzufügen"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 msgid "[No caption]"
 msgstr "[kein Titel]"
 
@@ -1644,25 +1772,16 @@ msgid "Blacklisted tags"
 msgstr "Gesperrte Tags"
 
 #: classes/pref/prefs.php:27
-msgid ""
-"When auto-detecting tags in articles these tags will not be applied (comma-"
-"separated list)."
-msgstr ""
-"Bei der automatischen Erkennung von Tags in Artikeln werden die folgenden "
-"nicht verwendet (durch Komma getrennte Liste)."
+msgid "When auto-detecting tags in articles these tags will not be applied (comma-separated list)."
+msgstr "Bei der automatischen Erkennung von Tags in Artikeln werden die folgenden nicht verwendet (durch Komma getrennte Liste)."
 
 #: classes/pref/prefs.php:28
 msgid "Automatically mark articles as read"
 msgstr "Artikel automatisch als gelesen markieren"
 
 #: classes/pref/prefs.php:28
-msgid ""
-"This option enables marking articles as read automatically while you scroll "
-"article list."
-msgstr ""
-"Diese Option aktiviert das automatische \"Als gelesen markieren\" im "
-"kombinierten Anzeigemodus (ausgenommen ist der Neue-Artikel-Feed), während "
-"Sie durch die Artikelliste scrollen."
+msgid "This option enables marking articles as read automatically while you scroll article list."
+msgstr "Diese Option aktiviert das automatische \"Als gelesen markieren\" im kombinierten Anzeigemodus (ausgenommen ist der Neue-Artikel-Feed), während Sie durch die Artikelliste scrollen."
 
 #: classes/pref/prefs.php:29
 msgid "Automatically expand articles in combined mode"
@@ -1673,12 +1792,8 @@ msgid "Combined feed display"
 msgstr "Kombinierte Feed-Anzeige"
 
 #: classes/pref/prefs.php:30
-msgid ""
-"Display expanded list of feed articles, instead of separate displays for "
-"headlines and article content"
-msgstr ""
-"Erweiterte Anzeigeliste für Artikel, anstelle von einzelnen Fenstern für "
-"Schlagzeilen und Artikelinhalt"
+msgid "Display expanded list of feed articles, instead of separate displays for headlines and article content"
+msgstr "Erweiterte Anzeigeliste für Artikel, anstelle von einzelnen Fenstern für Schlagzeilen und Artikelinhalt"
 
 #: classes/pref/prefs.php:31
 msgid "Confirm marking feed as read"
@@ -1693,12 +1808,8 @@ msgid "Default feed update interval"
 msgstr "Standard-Intervall für Feed-Updates"
 
 #: classes/pref/prefs.php:33
-msgid ""
-"Shortest interval at which a feed will be checked for updates regardless of "
-"update method"
-msgstr ""
-"Kürzestes Intervall, in dem ein Feed, unabhängig von der gewählten Update-"
-"Methode, auf neue Beiträge überprüft wird"
+msgid "Shortest interval at which a feed will be checked for updates regardless of update method"
+msgstr "Kürzestes Intervall, in dem ein Feed, unabhängig von der gewählten Update-Methode, auf neue Beiträge überprüft wird"
 
 #: classes/pref/prefs.php:34
 msgid "Mark articles in e-mail digest as read"
@@ -1709,12 +1820,8 @@ msgid "Enable e-mail digest"
 msgstr "Aktiviere E-Mail-Zusammenfassung"
 
 #: classes/pref/prefs.php:35
-msgid ""
-"This option enables sending daily digest of new (and unread) headlines on "
-"your configured e-mail address"
-msgstr ""
-"Diese Option aktiviert das Senden einer täglichen Zusammenfassung über neue "
-"(und ungelesene) Schlagzeilen an Ihre angegebene E-Mail-Adresse"
+msgid "This option enables sending daily digest of new (and unread) headlines on your configured e-mail address"
+msgstr "Diese Option aktiviert das Senden einer täglichen Zusammenfassung über neue (und ungelesene) Schlagzeilen an Ihre angegebene E-Mail-Adresse"
 
 #: classes/pref/prefs.php:36
 msgid "Try to send digests around specified time"
@@ -1761,11 +1868,8 @@ msgid "On catchup show next feed"
 msgstr "Den nächsten Feed anzeigen"
 
 #: classes/pref/prefs.php:44
-msgid ""
-"Automatically open next feed with unread articles after marking one as read"
-msgstr ""
-"Automatisch nächsten Feed mit ungelesenen Artikeln laden, nachdem ein Feed "
-"als gelesen markiert wurde"
+msgid "Automatically open next feed with unread articles after marking one as read"
+msgstr "Automatisch nächsten Feed mit ungelesenen Artikeln laden, nachdem ein Feed als gelesen markiert wurde"
 
 #: classes/pref/prefs.php:45
 msgid "Purge articles after this number of days (0 - disables)"
@@ -1775,7 +1879,7 @@ msgstr "Alte Artikel nach dieser Anzahl an Tagen löschen (0 - deaktivert)"
 msgid "Purge unread articles"
 msgstr "Ungelesene Artikel löschen"
 
-#: classes/pref/prefs.php:47 plugins/mobile/prefs.php:56
+#: classes/pref/prefs.php:47
 msgid "Reverse headline order (oldest first)"
 msgstr "Schlagzeilensortierung umkehren (älteste zuerst)"
 
@@ -1793,9 +1897,7 @@ msgstr "Feeds nach Schlagzeilendatum sortieren"
 
 #: classes/pref/prefs.php:50
 msgid "Use feed-specified date to sort headlines instead of local import date."
-msgstr ""
-"Benutze feed-spezifisches Datum statt des lokalen Importdatums um "
-"Schlagzeilen zu sortieren."
+msgstr "Benutze feed-spezifisches Datum statt des lokalen Importdatums um Schlagzeilen zu sortieren."
 
 #: classes/pref/prefs.php:51
 msgid "Login with an SSL certificate"
@@ -1817,7 +1919,8 @@ msgstr "Unsichere Tags aus Artikeln entfernen"
 msgid "Strip all but most common HTML tags when reading articles."
 msgstr "Alle außer den meist verwendeten HTML Tags beim Lesen entfernen."
 
-#: classes/pref/prefs.php:54 js/prefs.js:1734
+#: classes/pref/prefs.php:54
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "Benutzerdefiniertes Stylesheet"
 
@@ -1835,9 +1938,7 @@ msgstr "Schlagzeilen in virtuellen Feeds gruppieren"
 
 #: classes/pref/prefs.php:56
 msgid "Special feeds, labels, and categories are grouped by originating feeds"
-msgstr ""
-"Spezial-Feeds, Labels und Kategorien sind nach den ursprünglichen Feeds "
-"gruppiert"
+msgstr "Spezial-Feeds, Labels und Kategorien sind nach den ursprünglichen Feeds gruppiert"
 
 #: classes/pref/prefs.php:57
 msgid "Language"
@@ -1937,14 +2038,11 @@ msgid "One time passwords / Authenticator"
 msgstr "Einmalpasswörter (OTP) / Authentifikator"
 
 #: classes/pref/prefs.php:327
-msgid ""
-"One time passwords are currently enabled. Enter your current password below "
-"to disable."
-msgstr ""
-"Einmalpasswörter sind aktiviert. Gib dein aktuelles Passwort ein, um diese "
-"zu deaktivieren."
+msgid "One time passwords are currently enabled. Enter your current password below to disable."
+msgstr "Einmalpasswörter sind aktiviert. Gib dein aktuelles Passwort ein, um diese zu deaktivieren."
 
-#: classes/pref/prefs.php:352 classes/pref/prefs.php:403
+#: classes/pref/prefs.php:352
+#: classes/pref/prefs.php:403
 msgid "Enter your password"
 msgstr "Geben Sie Ihr Passwort ein"
 
@@ -1953,12 +2051,8 @@ msgid "Disable OTP"
 msgstr "Einmalpasswörter ausschalten"
 
 #: classes/pref/prefs.php:369
-msgid ""
-"You will need a compatible Authenticator to use this. Changing your password "
-"would automatically disable OTP."
-msgstr ""
-"Sie benötigen einen kompatiblen Authentifikator. Sollten Sie Ihr Passwort "
-"ändern, wird diese Funktion automatisch ausgeschaltet."
+msgid "You will need a compatible Authenticator to use this. Changing your password would automatically disable OTP."
+msgstr "Sie benötigen einen kompatiblen Authentifikator. Sollten Sie Ihr Passwort ändern, wird diese Funktion automatisch ausgeschaltet."
 
 #: classes/pref/prefs.php:371
 msgid "Scan the following code by the Authenticator application:"
@@ -2013,97 +2107,88 @@ msgstr "Profile verwalten"
 msgid "Reset to defaults"
 msgstr "Auf Standardwerte zurücksetzen"
 
-#: classes/pref/prefs.php:706 classes/pref/prefs.php:708
+#: classes/pref/prefs.php:706
 msgid "Plugins"
 msgstr "Plugins"
 
-#: classes/pref/prefs.php:710
-msgid ""
-"You will need to reload Tiny Tiny RSS for plugin changes to take effect."
-msgstr ""
-"Du musst Tiny Tiny RSS neu laden, damit Pluginänderungen angewandt werden."
+#: classes/pref/prefs.php:708
+msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
+msgstr "Du musst Tiny Tiny RSS neu laden, damit Pluginänderungen angewandt werden."
 
-#: classes/pref/prefs.php:712
-msgid ""
-"Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank"
-"\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a "
-"target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins"
-"\">wiki</a>."
-msgstr ""
-"Mehr Plugins im tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href="
-"\"http://tt-rss.org/forum/viewforum.php?f=22\">Forum</a> oder im <a target="
-"\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins"
-"\">Wiki</a>."
+#: classes/pref/prefs.php:710
+msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
+msgstr "Mehr Plugins im tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">Forum</a> oder im <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">Wiki</a>."
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr "System-Plugins"
 
-#: classes/pref/prefs.php:742 classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr "Plugin"
 
-#: classes/pref/prefs.php:743 classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 msgid "Description"
 msgstr "Beschreibung"
 
-#: classes/pref/prefs.php:744 classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr "Version"
 
-#: classes/pref/prefs.php:745 classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr "Autor"
 
-#: classes/pref/prefs.php:774 classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr "weitere Informationen"
 
-#: classes/pref/prefs.php:783 classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 msgid "Clear data"
 msgstr "Daten löschen"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr "Benutzer-Plugins"
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 msgid "Enable selected plugins"
 msgstr "Ausgewählte Plugins aktivieren"
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 msgid "Incorrect one time password"
 msgstr "Falsches Einmalpasswort"
 
-#: classes/pref/prefs.php:925 classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 msgid "Incorrect password"
 msgstr "Falsches Passwort"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
-msgid ""
-"You can override colors, fonts and layout of your currently selected theme "
-"with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink"
-"\" href=\"%s\">This file</a> can be used as a baseline."
-msgstr ""
-"Sie können Farben, Schriftarten und das Layout Ihres aktuell gewählten "
-"Themas mit einem eigenen CSS-Stylesheet überschreiben. <a target=\"_blank\" "
-"class=\"visibleLink\" href=\"%s\">Diese Datei</a> kann als Grundlage benutzt "
-"werden."
+msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
+msgstr "Sie können Farben, Schriftarten und das Layout Ihres aktuell gewählten Themas mit einem eigenen CSS-Stylesheet überschreiben. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">Diese Datei</a> kann als Grundlage benutzt werden."
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "Profil erstellen"
 
-#: classes/pref/prefs.php:1030 classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(aktiv)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "Ausgewählte Profile entfernen"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "Profil aktivieren"
 
@@ -2111,302 +2196,256 @@ msgstr "Profil aktivieren"
 msgid "Check to enable field"
 msgstr "Ankreuzen um das Feld zu aktivieren"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "Feed-Titel"
 
-#: classes/pref/feeds.php:600 classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Aktualisieren"
 
-#: classes/pref/feeds.php:615 classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Artikel löschen:"
 
-#: classes/pref/feeds.php:645
-msgid ""
-"<b>Hint:</b> you need to fill in your login information if your feed "
-"requires authentication, except for Twitter feeds."
-msgstr ""
-"<b>Hinweis:</b> Sie müssen Ihre Login-Informationen eingeben, wenn Ihr Feed "
-"eine Authentifizierung erfordert (außer Twitter-Feeds)."
+#: classes/pref/feeds.php:632
+msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
+msgstr "<b>Hinweis:</b> Sie müssen Ihre Login-Informationen eingeben, wenn Ihr Feed eine Authentifizierung erfordert (außer Twitter-Feeds)."
 
-#: classes/pref/feeds.php:661 classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "Nicht unter beliebten Feeds aufführen"
 
-#: classes/pref/feeds.php:673 classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "In E-Mail-Zusammenfassung aufnehmen"
 
-#: classes/pref/feeds.php:686 classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Angehängte Bilder immer anzeigen"
 
-#: classes/pref/feeds.php:699 classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr "Bilder nicht einbetten"
 
-#: classes/pref/feeds.php:712 classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Bilder lokal zwischenspeichern"
 
-#: classes/pref/feeds.php:724 classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "Aktualisierte Artikel als ungelesen markieren"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr "Symbol"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "Ersetzen"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr "Abonnierte Feeds:"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr "PubSubHubbub-Abonnementstatus für Push-fähige Feeds zurücksetzen."
 
-#: classes/pref/feeds.php:1169 classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Fertig."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "Feeds mit Fehlern"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 msgid "Inactive feeds"
 msgstr "Inaktive Feeds"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "Bearbeite ausgewählte Feeds"
 
-#: classes/pref/feeds.php:1338 js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr "Mehrere Feeds abonnieren"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 msgid "Categories"
 msgstr "Kategorien"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 msgid "Add category"
 msgstr "Kategorie anlegen"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 msgid "Remove selected"
 msgstr "Ausgewählte Kategorien löschen"
 
-#: classes/pref/feeds.php:1361
-msgid "(Un)hide empty categories"
-msgstr "Zeige/Verstecke leere Kategorien"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "Mehr Aktionen..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Manuelles Löschen"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Feed-Daten löschen"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
-msgid ""
-"Using OPML you can export and import your feeds, filters, labels and Tiny "
-"Tiny RSS settings."
-msgstr ""
-"Über OPML können Feeds, Filter, Label und Tiny-Tiny-RSS-Einstellungen "
-"importiert und exportiert werden."
+#: classes/pref/feeds.php:1411
+msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
+msgstr "Über OPML können Feeds, Filter, Label und Tiny-Tiny-RSS-Einstellungen importiert und exportiert werden."
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr "Nur das Hauptprofil kann mit OPML gesichert werden."
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 msgid "Import my OPML"
 msgstr "OPML importieren"
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr "Dateiname:"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
 msgstr "Inklusive Einstellungen"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 msgid "Export OPML"
 msgstr "OPML exportieren"
 
-#: classes/pref/feeds.php:1456
-msgid ""
-"Your OPML can be published publicly and can be subscribed by anyone who "
-"knows the URL below."
-msgstr ""
-"Ihre OPML können veröffentlicht werden, so dass jeder, der die URL kennt, "
-"diese abonnieren kann."
+#: classes/pref/feeds.php:1438
+msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
+msgstr "Ihre OPML können veröffentlicht werden, so dass jeder, der die URL kennt, diese abonnieren kann."
 
-#: classes/pref/feeds.php:1458
-msgid ""
-"Published OPML does not include your Tiny Tiny RSS settings, feeds that "
-"require authentication or feeds hidden from Popular feeds."
-msgstr ""
-"Eine öffentliche OPML enthält keine Tiny-Tiny-RSS-Einstellungen, "
-"passwortgeschützte Feeds oder Feeds, die nicht in den beliebten Feeds "
-"auftauchen sollen."
+#: classes/pref/feeds.php:1440
+msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
+msgstr "Eine öffentliche OPML enthält keine Tiny-Tiny-RSS-Einstellungen, passwortgeschützte Feeds oder Feeds, die nicht in den beliebten Feeds auftauchen sollen."
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr "Öffentliche OPML-URL"
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr "Zeige öffentliche OPML-URL"
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr "Firefox-Integration"
 
-#: classes/pref/feeds.php:1472
-msgid ""
-"This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the "
-"link below."
-msgstr ""
-"Tiny Tiny RSS kann durch den folgenden Link als Feedreader für Firefox "
-"verwendet werden."
+#: classes/pref/feeds.php:1454
+msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
+msgstr "Tiny Tiny RSS kann durch den folgenden Link als Feedreader für Firefox verwendet werden."
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Diese Website als Feedreader registrieren."
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 msgid "Published & shared articles / Generated feeds"
 msgstr "Veröffentlichte & geteilte Artikel / erzeugte Feeds"
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr "Veröffentlichte Artikel und erzeugte Feeds"
-
-#: classes/pref/feeds.php:1491
-msgid ""
-"Published articles are exported as a public RSS feed and can be subscribed "
-"by anyone who knows the URL specified below."
-msgstr ""
-"Veröffentlichte Artikel werden als öffentlicher RSS-Feed exportiert und "
-"können von jedem abonniert werden, der die nachstehende URL kennt."
+#: classes/pref/feeds.php:1471
+msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
+msgstr "Veröffentlichte Artikel werden als öffentlicher RSS-Feed exportiert und können von jedem abonniert werden, der die nachstehende URL kennt."
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr "Zeige URL an"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr "Alle generierten URLs löschen"
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr "Per URL geteilte Artikel"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr "Sie können alle durch URLs geteilten Artikel hier deaktivieren."
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 msgid "Unshare all articles"
 msgstr "Alle veröffentlichten Artikel zurückziehen"
 
-#: classes/pref/feeds.php:1582
-msgid ""
-"These feeds have not been updated with new content for 3 months (oldest "
-"first):"
-msgstr ""
-"Folgende Feeds konnten seit 3 Monaten nicht aktualisiert werden (älteste "
-"zuerst):"
+#: classes/pref/feeds.php:1568
+msgid "These feeds have not been updated with new content for 3 months (oldest first):"
+msgstr "Folgende Feeds konnten seit 3 Monaten nicht aktualisiert werden (älteste zuerst):"
 
-#: classes/pref/feeds.php:1619 classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "Zum Bearbeiten klicken"
 
-#: classes/pref/feeds.php:1637 classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "Ausgewählte Feeds abbestellen"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Folgende Feeds konnten aufgrund von Fehlern nicht aktualisiert werden:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
-msgstr ""
-"Einen gültigen RSS Feed pro Zeile hinzufügen (Es findet keine Feederkennung "
-"statt)"
+msgstr "Einen gültigen RSS Feed pro Zeile hinzufügen (Es findet keine Feederkennung statt)"
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr "Zu abonnierende Feeds, Einen pro Zeile"
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr "Feeds benötigen Authentifizierung."
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr "Fehler-Protokoll"
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 msgid "Refresh"
 msgstr "Neuladen"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+msgid "Clear log"
+msgstr "Protokoll löschen"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr "Fehler"
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 msgid "Filename"
 msgstr "Dateiname"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr "Meldung"
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "Datum"
 
-#: plugins/digest/digest_body.php:57
-msgid ""
-"Your browser doesn't support Javascript, which is required for this "
-"application to function properly. Please check your browser settings."
-msgstr ""
-"Diese Anwendung benötigt Javascript um ordnungsgemäß zu funktionieren. Bitte "
-"überprüfen Sie Ihre Browser-Einstellungen."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Hallo,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr "Reguläre Version"
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr "Artikel schließen"
 
-#: plugins/nsfw/init.php:29 plugins/nsfw/init.php:40
+#: plugins/nsfw/init.php:29
+#: plugins/nsfw/init.php:40
 msgid "Not work safe (click to toggle)"
 msgstr "NSFW (Klicken zum Anzeigen)"
 
@@ -2434,61 +2473,15 @@ msgstr "Passwort wurde geändert."
 msgid "Old password is incorrect."
 msgstr "Altes Passwort ist falsch."
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376 plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr "Startseite"
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr "Nichts gefunden (klicken um Feed zu aktualisieren)"
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr "Reguläre Version öffnen"
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr "Feedkategorien aktivieren"
-
-#: plugins/mobile/prefs.php:31 plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42 plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52 plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr "AN"
-
-#: plugins/mobile/prefs.php:31 plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42 plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52 plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr "AUS"
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr "Kategorien wie Ordner behandeln"
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr "Bilder in Artikeln anzeigen"
-
-#: plugins/mobile/prefs.php:46
-msgid "Hide read articles and feeds"
-msgstr "Gelesene Artikel und Feeds verstecken"
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr "Feeds nach Anzahl der ungelesenen Artikel sortieren"
-
-#: plugins/mailto/init.php:49 plugins/mailto/init.php:55
-#: plugins/mail/init.php:64 plugins/mail/init.php:70
+#: plugins/mailto/init.php:49
+#: plugins/mailto/init.php:55
+#: plugins/mail/init.php:64
+#: plugins/mail/init.php:70
 msgid "[Forwarded]"
 msgstr "[Weitergeleitet]"
 
-#: plugins/mailto/init.php:49 plugins/mail/init.php:64
+#: plugins/mailto/init.php:49
+#: plugins/mail/init.php:64
 msgid "Multiple articles"
 msgstr "Mehrere Artikel"
 
@@ -2501,11 +2494,8 @@ msgid "Forward selected article(s) by email."
 msgstr "Markierte(n) Artikel per E-Mail weiterleiten"
 
 #: plugins/mailto/init.php:78
-msgid ""
-"You should be able to edit the message before sending in your mail client."
-msgstr ""
-"Sie können die Nachricht bearbeiten, bevor Sie diese mit Ihrem Mailclienten "
-"abschicken."
+msgid "You should be able to edit the message before sending in your mail client."
+msgstr "Sie können die Nachricht bearbeiten, bevor Sie diese mit Ihrem Mailclienten abschicken."
 
 #: plugins/mailto/init.php:83
 msgid "Close this dialog"
@@ -2516,44 +2506,29 @@ msgid "Bookmarklets"
 msgstr "Lesezeichen"
 
 #: plugins/bookmarklets/init.php:22
-msgid ""
-"Drag the link below to your browser toolbar, open the feed you're interested "
-"in in your browser and click on the link to subscribe to it."
-msgstr ""
-"Ziehen Sie den folgenden Link in Ihre Browser-Toolbar, öffnen Sie den Feed, "
-"an dem Sie interessiert sind, in Ihren Browser und klicken auf den Link, um "
-"ihn zu abonnieren."
+msgid "Drag the link below to your browser toolbar, open the feed you're interested in in your browser and click on the link to subscribe to it."
+msgstr "Ziehen Sie den folgenden Link in Ihre Browser-Toolbar, öffnen Sie den Feed, an dem Sie interessiert sind, in Ihren Browser und klicken auf den Link, um ihn zu abonnieren."
 
 #: plugins/bookmarklets/init.php:26
 #, php-format
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "%s in Tiny Tiny RSS abonnieren?"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Abonnieren in Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
-msgstr ""
-"Benutzen Sie dieses Lesezeichen, um beliebige Seiten mit Tiny Tiny RSS zu "
-"teilen"
+msgstr "Benutzen Sie dieses Lesezeichen, um beliebige Seiten mit Tiny Tiny RSS zu teilen"
 
 #: plugins/import_export/init.php:58
 msgid "Import and export"
 msgstr "Import und Export"
 
 #: plugins/import_export/init.php:60
-msgid "Article archive"
-msgstr "Artikelarchiv"
-
-#: plugins/import_export/init.php:62
-msgid ""
-"You can export and import your Starred and Archived articles for safekeeping "
-"or when migrating between tt-rss instances."
-msgstr ""
-"Die markierten und archivierten Artikel können zur Aufbewahrung oder "
-"Migration zwischen verschiedenen Tiny Tiny RSS Instanzen exportiert werden."
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
+msgstr "Die markierten und archivierten Artikel können zur Aufbewahrung oder Migration zwischen verschiedenen Tiny Tiny RSS Instanzen exportiert werden."
 
 #: plugins/import_export/init.php:65
 msgid "Export my data"
@@ -2563,48 +2538,49 @@ msgstr "Meine Daten exportieren"
 msgid "Import"
 msgstr "Importieren"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr "Import fehlgeschlagen: Falsche Schemaversion"
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr "Import fehlgeschlagen: Unbekanntes Dateiformat"
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr "Beendet: "
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] "%d Artikel verarbeitet, "
 msgstr[1] "%d Artikel verarbeitet, "
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] "%d importiert, "
 msgstr[1] "%d importiert, "
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] "%d Feed erstellt."
 msgstr[1] "%d Feeds erstellt."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr "Konnte XML-Datei nicht laden."
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr "Bereite Daten vor"
 
-#: plugins/import_export/init.php:444 plugins/googlereaderimport/init.php:92
+#: plugins/import_export/init.php:446
+#: plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
 msgstr "Es wurde keine Datei hochgeladen."
 
@@ -2624,22 +2600,11 @@ msgstr "Betreff:"
 msgid "Send e-mail"
 msgstr "E-Mail versenden"
 
-#: plugins/note/init.php:26 plugins/note/note.js:11
+#: plugins/note/init.php:26
+#: plugins/note/note.js:11
 msgid "Edit article note"
 msgstr "Artikelnotizen bearbeiten"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr "Beispiel Pane"
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr "Beispielwert"
-
-#: plugins/example/init.php:73
-msgid "Set value"
-msgstr "Wert setzen"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -2665,30 +2630,35 @@ msgstr "Importiere meine markierten Einträge"
 msgid "Linked"
 msgstr "Verbunden"
 
-#: plugins/instances/init.php:204 plugins/instances/init.php:395
+#: plugins/instances/init.php:204
+#: plugins/instances/init.php:395
 msgid "Instance"
 msgstr "Instanz"
 
-#: plugins/instances/init.php:215 plugins/instances/init.php:312
+#: plugins/instances/init.php:215
+#: plugins/instances/init.php:312
 #: plugins/instances/init.php:404
 msgid "Instance URL"
 msgstr "Instanz-URL"
 
-#: plugins/instances/init.php:226 plugins/instances/init.php:414
+#: plugins/instances/init.php:226
+#: plugins/instances/init.php:414
 msgid "Access key:"
 msgstr "Zugriffsberechtigung:"
 
-#: plugins/instances/init.php:229 plugins/instances/init.php:313
+#: plugins/instances/init.php:229
+#: plugins/instances/init.php:313
 #: plugins/instances/init.php:417
 msgid "Access key"
 msgstr "Zugriffsberechtigung"
 
-#: plugins/instances/init.php:233 plugins/instances/init.php:421
+#: plugins/instances/init.php:233
+#: plugins/instances/init.php:421
 msgid "Use one access key for both linked instances."
-msgstr ""
-"Benutzen Sie den selben Zugriffschlüssel für beide verbundenen Instanzen."
+msgstr "Benutzen Sie den selben Zugriffschlüssel für beide verbundenen Instanzen."
 
-#: plugins/instances/init.php:241 plugins/instances/init.php:429
+#: plugins/instances/init.php:241
+#: plugins/instances/init.php:429
 msgid "Generate new key"
 msgstr "Neuen Zugriffsschlüssel erzeugen"
 
@@ -2697,13 +2667,8 @@ msgid "Link instance"
 msgstr "Instanz verbinden"
 
 #: plugins/instances/init.php:304
-msgid ""
-"You can connect other instances of Tiny Tiny RSS to this one to share "
-"Popular feeds. Link to this instance of Tiny Tiny RSS by using this URL:"
-msgstr ""
-"Sie können andere Instanzen von Tiny Tiny RSS mit dieser verbinden, um "
-"beliebte Feeds zu teilen. Verbinden Sie diese Instanz von Tiny Tiny RSS mit "
-"folgender URL:"
+msgid "You can connect other instances of Tiny Tiny RSS to this one to share Popular feeds. Link to this instance of Tiny Tiny RSS by using this URL:"
+msgstr "Sie können andere Instanzen von Tiny Tiny RSS mit dieser verbinden, um beliebte Feeds zu teilen. Verbinden Sie diese Instanz von Tiny Tiny RSS mit folgender URL:"
 
 #: plugins/instances/init.php:314
 msgid "Last connected"
@@ -2729,7 +2694,8 @@ msgstr "Per URL teilen"
 msgid "You can share this article by the following unique URL:"
 msgstr "Sie können diesen Artikel über folgende eindeutige URL teilen:"
 
-#: plugins/updater/init.php:321 plugins/updater/init.php:338
+#: plugins/updater/init.php:321
+#: plugins/updater/init.php:338
 #: plugins/updater/updater.js:10
 msgid "Update Tiny Tiny RSS"
 msgstr "Tiny Tiny RSS updaten"
@@ -2744,22 +2710,15 @@ msgstr "Diesen Dialog nicht Schließen, bis das Update abgeschlossen ist."
 
 #: plugins/updater/init.php:358
 msgid "It is suggested to backup your tt-rss directory first."
-msgstr ""
-"Es wird empfohlen, das tt-rss Verzeichnis zu sichern, bevor Sie fortfahren."
+msgstr "Es wird empfohlen, das tt-rss Verzeichnis zu sichern, bevor Sie fortfahren."
 
 #: plugins/updater/init.php:359
 msgid "Your database will not be modified."
 msgstr "Ihre Datenbank wird nicht verändert"
 
 #: plugins/updater/init.php:360
-msgid ""
-"Your current tt-rss installation directory will not be modified. It will be "
-"renamed and left in the parent directory. You will be able to migrate all "
-"your customized files after update finishes."
-msgstr ""
-"Ihre aktuelle tt-rss Installation wird nicht verändert. Sie wird umbenannt "
-"und bleibt somit erhalten. Ihre Anpassungen können Sie nach dem Update "
-"migrieren."
+msgid "Your current tt-rss installation directory will not be modified. It will be renamed and left in the parent directory. You will be able to migrate all your customized files after update finishes."
+msgstr "Ihre aktuelle tt-rss Installation wird nicht verändert. Sie wird umbenannt und bleibt somit erhalten. Ihre Anpassungen können Sie nach dem Update migrieren."
 
 #: plugins/updater/init.php:361
 msgid "Ready to update."
@@ -2769,37 +2728,30 @@ msgstr "Bereit zum Updaten."
 msgid "Start update"
 msgstr "Starte update"
 
-#: js/feedlist.js:395 js/feedlist.js:423 plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Alle Artikel in %s als gelesen markieren?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 msgid "Mark all articles in %s older than 1 day as read?"
-msgstr ""
-"Alle Artikel in %s, die älter als einen Tag sind, als gelesen markieren?"
+msgstr "Alle Artikel in %s, die älter als einen Tag sind, als gelesen markieren?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 msgid "Mark all articles in %s older than 1 week as read?"
-msgstr ""
-"Alle Artikel in %s, die älter als eine Woche sind, als gelesen markieren?"
+msgstr "Alle Artikel in %s, die älter als eine Woche sind, als gelesen markieren?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 msgid "Mark all articles in %s older than 2 weeks as read?"
-msgstr ""
-"Alle Artikel in %s, die älter als 2 Wochen sind, als gelesen markieren?"
+msgstr "Alle Artikel in %s, die älter als 2 Wochen sind, als gelesen markieren?"
 
 #: js/functions.js:65
 msgid "The error will be reported to the configured log destination."
 msgstr "Der Fehler wird im Fehlerprotokoll gespeichert"
 
 #: js/functions.js:107
-msgid ""
-"Are you sure to report this exception to tt-rss.org? The report will include "
-"your browser information. Your IP would be saved in the database."
-msgstr ""
-"Sind Sie sicher, dass Sie diesen Fehler an tt-rss.org melden wollen? Der "
-"Bericht enthält Ihre Browser-Informationen. Ihre IP-Adresse würde in der "
-"Datenbank gespeichert werden."
+msgid "Are you sure to report this exception to tt-rss.org? The report will include your browser information. Your IP would be saved in the database."
+msgstr "Sind Sie sicher, dass Sie diesen Fehler an tt-rss.org melden wollen? Der Bericht enthält Ihre Browser-Informationen. Ihre IP-Adresse würde in der Datenbank gespeichert werden."
 
 #: js/functions.js:236
 msgid "Click to close"
@@ -2890,18 +2842,15 @@ msgid "Create Filter"
 msgstr "Filter erstellen"
 
 #: js/functions.js:1191
-msgid ""
-"Reset subscription? Tiny Tiny RSS will try to subscribe to the notification "
-"hub again on next feed update."
-msgstr ""
-"Abonnement zurücksetzen? Tiny Tiny RSS wird versuchen, sich bei der nächsten "
-"Feed-Aktualisierung erneut beim Benachrichtigungs-Hub anzumelden."
+msgid "Reset subscription? Tiny Tiny RSS will try to subscribe to the notification hub again on next feed update."
+msgstr "Abonnement zurücksetzen? Tiny Tiny RSS wird versuchen, sich bei der nächsten Feed-Aktualisierung erneut beim Benachrichtigungs-Hub anzumelden."
 
 #: js/functions.js:1202
 msgid "Subscription reset."
 msgstr "Abonnement zurückgesetzt."
 
-#: js/functions.js:1212 js/tt-rss.js:650
+#: js/functions.js:1212
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "%s abbestellen?"
 
@@ -2917,11 +2866,14 @@ msgstr "Bitte geben Sie den Kategorietitel ein:"
 msgid "Generate new syndication address for this feed?"
 msgstr "Neue Veröffentlichungsadresse für diesen Feed erzeugen?"
 
-#: js/functions.js:1359 js/prefs.js:1231
+#: js/functions.js:1359
+#: js/prefs.js:1231
 msgid "Trying to change address..."
 msgstr "Versuche, die Adresse zu ändern..."
 
-#: js/functions.js:1546 js/tt-rss.js:421 js/tt-rss.js:631
+#: js/functions.js:1546
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "Sie können diese Art von Feed nicht bearbeiten."
 
@@ -2929,7 +2881,9 @@ msgstr "Sie können diese Art von Feed nicht bearbeiten."
 msgid "Edit Feed"
 msgstr "Feed bearbeiten"
 
-#: js/functions.js:1567 js/prefs.js:194 js/prefs.js:749
+#: js/functions.js:1567
+#: js/prefs.js:194
+#: js/prefs.js:749
 msgid "Saving data..."
 msgstr "Speichere Daten..."
 
@@ -2937,29 +2891,33 @@ msgstr "Speichere Daten..."
 msgid "More Feeds"
 msgstr "Weitere Feeds"
 
-#: js/functions.js:1660 js/functions.js:1770 js/prefs.js:397 js/prefs.js:427
-#: js/prefs.js:459 js/prefs.js:642 js/prefs.js:662 js/prefs.js:1207
+#: js/functions.js:1660
+#: js/functions.js:1770
+#: js/prefs.js:397
+#: js/prefs.js:427
+#: js/prefs.js:459
+#: js/prefs.js:642
+#: js/prefs.js:662
+#: js/prefs.js:1207
 #: js/prefs.js:1352
 msgid "No feeds are selected."
 msgstr "Keine Feeds ausgewählt."
 
 #: js/functions.js:1702
-msgid ""
-"Remove selected feeds from the archive? Feeds with stored articles will not "
-"be removed."
-msgstr ""
-"Die ausgewählten Feeds aus dem Archiv löschen? Feeds mit gespeicherten "
-"Artikeln werden nicht gelöscht"
+msgid "Remove selected feeds from the archive? Feeds with stored articles will not be removed."
+msgstr "Die ausgewählten Feeds aus dem Archiv löschen? Feeds mit gespeicherten Artikeln werden nicht gelöscht"
 
 #: js/functions.js:1741
 msgid "Feeds with update errors"
 msgstr "Feeds mit Aktualisierungsfehlern"
 
-#: js/functions.js:1752 js/prefs.js:1189
+#: js/functions.js:1752
+#: js/prefs.js:1189
 msgid "Remove selected feeds?"
 msgstr "Ausgewählte Feeds entfernen?"
 
-#: js/functions.js:1755 js/prefs.js:1192
+#: js/functions.js:1755
+#: js/prefs.js:1192
 msgid "Removing selected feeds..."
 msgstr "Ausgewählte Feeds werden entfernt..."
 
@@ -3015,23 +2973,23 @@ msgstr "Ausgewählte Label entfernen?"
 msgid "Removing selected labels..."
 msgstr "Ausgewählte Label werden entfernt..."
 
-#: js/prefs.js:295 js/prefs.js:1393
+#: js/prefs.js:295
+#: js/prefs.js:1393
 msgid "No labels are selected."
 msgstr "Keine Label ausgewählt."
 
 #: js/prefs.js:309
-msgid ""
-"Remove selected users? Neither default admin nor your account will be "
-"removed."
-msgstr ""
-"Ausgewählte Benutzer löschen? Weder der Administrator noch Ihr eigenes Konto "
-"werden gelöscht."
+msgid "Remove selected users? Neither default admin nor your account will be removed."
+msgstr "Ausgewählte Benutzer löschen? Weder der Administrator noch Ihr eigenes Konto werden gelöscht."
 
 #: js/prefs.js:312
 msgid "Removing selected users..."
 msgstr "Ausgewählte Benutzer werden entfernt..."
 
-#: js/prefs.js:326 js/prefs.js:507 js/prefs.js:528 js/prefs.js:567
+#: js/prefs.js:326
+#: js/prefs.js:507
+#: js/prefs.js:528
+#: js/prefs.js:567
 msgid "No users are selected."
 msgstr "Keine Benutzer ausgewählt."
 
@@ -3043,7 +3001,9 @@ msgstr "Ausgewählte Filter entfernen?"
 msgid "Removing selected filters..."
 msgstr "Ausgewählte Filter werden entfernt..."
 
-#: js/prefs.js:359 js/prefs.js:597 js/prefs.js:616
+#: js/prefs.js:359
+#: js/prefs.js:597
+#: js/prefs.js:616
 msgid "No filters are selected."
 msgstr "Keine Filter ausgewählt."
 
@@ -3083,7 +3043,9 @@ msgstr "Feld für Benutzername darf nicht leer sein."
 msgid "Saving user..."
 msgstr "Benutzer werden gespeichert..."
 
-#: js/prefs.js:512 js/prefs.js:533 js/prefs.js:572
+#: js/prefs.js:512
+#: js/prefs.js:533
+#: js/prefs.js:572
 msgid "Please select only one user."
 msgstr "Bitte nur einen Benutzer auswählen."
 
@@ -3127,7 +3089,8 @@ msgstr "OPML Import"
 msgid "Please choose an OPML file first."
 msgstr "Bitte zuerst eine OPML-Datei auswählen."
 
-#: js/prefs.js:815 plugins/import_export/import_export.js:115
+#: js/prefs.js:815
+#: plugins/import_export/import_export.js:115
 #: plugins/googlereaderimport/init.js:45
 msgid "Importing, please wait..."
 msgstr "Importiere, bitte warten..."
@@ -3137,11 +3100,8 @@ msgid "Reset to defaults?"
 msgstr "Auf Standardwerte zurücksetzen?"
 
 #: js/prefs.js:1096
-msgid ""
-"Remove category %s? Any nested feeds would be placed into Uncategorized."
-msgstr ""
-"Kategorie %s löschen? Feeds dieser Kategorie werden dann nach "
-"Unkategorisiert verschoben."
+msgid "Remove category %s? Any nested feeds would be placed into Uncategorized."
+msgstr "Kategorie %s löschen? Feeds dieser Kategorie werden dann nach Unkategorisiert verschoben."
 
 #: js/prefs.js:1102
 msgid "Removing category..."
@@ -3189,8 +3149,7 @@ msgstr "Ausgewählte Feed werden neu bewertet..."
 
 #: js/prefs.js:1359
 msgid "Rescore all articles? This operation may take a lot of time."
-msgstr ""
-"Alle Artikel neu bewerten? Dieser Vorgang kann viel Zeit in Anspruch nehmen."
+msgstr "Alle Artikel neu bewerten? Dieser Vorgang kann viel Zeit in Anspruch nehmen."
 
 #: js/prefs.js:1362
 msgid "Rescoring feeds..."
@@ -3205,11 +3164,8 @@ msgid "Settings Profiles"
 msgstr "Einstellungsprofile"
 
 #: js/prefs.js:1425
-msgid ""
-"Remove selected profiles? Active and default profiles will not be removed."
-msgstr ""
-"Ausgewählte Profile löschen? Das aktive und das Standardprofil werden nicht "
-"gelöscht."
+msgid "Remove selected profiles? Active and default profiles will not be removed."
+msgstr "Ausgewählte Profile löschen? Das aktive und das Standardprofil werden nicht gelöscht."
 
 #: js/prefs.js:1428
 msgid "Removing selected profiles..."
@@ -3219,11 +3175,13 @@ msgstr "Ausgewählte Profile werden entfernt..."
 msgid "No profiles are selected."
 msgstr "Keine Profile ausgewählt."
 
-#: js/prefs.js:1451 js/prefs.js:1504
+#: js/prefs.js:1451
+#: js/prefs.js:1504
 msgid "Activate selected profile?"
 msgstr "Ausgewählte Profile entfernen?"
 
-#: js/prefs.js:1467 js/prefs.js:1520
+#: js/prefs.js:1467
+#: js/prefs.js:1520
 msgid "Please choose a profile to activate."
 msgstr "Bitte ein Profil zum Aktivieren auswählen."
 
@@ -3235,7 +3193,8 @@ msgstr "Profil wird erstellt..."
 msgid "This will invalidate all previously generated feed URLs. Continue?"
 msgstr "Alle zuvor erstellten Feed-URLs werden ungültig. Fortfahren?"
 
-#: js/prefs.js:1531 js/prefs.js:1550
+#: js/prefs.js:1531
+#: js/prefs.js:1550
 msgid "Clearing URLs..."
 msgstr "Leere URLs..."
 
@@ -3251,224 +3210,201 @@ msgstr "Alle bisher geteilten Artikel URLs werden ungültig. Fortfahren?"
 msgid "Shared URLs cleared."
 msgstr "Geteilte URLs geleert."
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Label-Editor"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr "Abonniere Feeds..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr "Gesicherte Daten dieses Plugins löschen?"
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr "Alle Einträge aus dem Fehler-Protokoll löschen?"
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Alle Artikel als gelesen markieren?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr "Alle Feeds werden als gelesen markiert..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 msgid "Please enable mail plugin first."
 msgstr "Bitte erst das Mail-Plugin aktivieren."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 msgid "Please enable embed_original plugin first."
 msgstr "Bitte erst das \"Original einbetten\" Plugin aktivieren."
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr "Artikel nach Tag auswählen"
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "Sie können die Kategorie nicht abbestellen."
 
-#: js/tt-rss.js:644 js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Bitte erst einen Feed auswählen."
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "Sie können diese Art von Feed nicht neu bewerten."
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Artikel in %s neu bewerten?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
 msgstr "Artikel werden neu bewertet..."
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr "Neue Version verfügbar!"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 msgid "Cancel search"
 msgstr "Suche abbrechen"
 
-#: js/viewfeed.js:453 plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Artikelmarkierung entfernen"
 
-#: js/viewfeed.js:457 plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Artikel markieren"
 
-#: js/viewfeed.js:497 plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Artikelveröffentlichung widerrufen"
 
-#: js/viewfeed.js:501 plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Artikel veröffentlichen"
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 msgid "%d article selected"
 msgid_plural "%d articles selected"
 msgstr[0] "%d Artikel ausgewählt."
 msgstr[1] "%d Artikel ausgewählt."
 
-#: js/viewfeed.js:725 js/viewfeed.js:753 js/viewfeed.js:780 js/viewfeed.js:843
-#: js/viewfeed.js:877 js/viewfeed.js:997 js/viewfeed.js:1040
-#: js/viewfeed.js:1093 js/viewfeed.js:2091 plugins/mailto/init.js:7
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
+#: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "Keine Artikel ausgewählt."
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "%d ausgewählten Artikel in %s löschen?"
 msgstr[1] "%d ausgewählte Artikel in %s löschen?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "%d ausgewählten Artikel löschen?"
 msgstr[1] "%d ausgewählte Artikel löschen?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "%d ausgewählten Artikel in %s archivieren?"
 msgstr[1] "%d ausgewählte Artikel in %s archivieren?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "%d archivierten Artikel zurück verschieben?"
 msgstr[1] "%d archivierte Artikel zurück verschieben?"
 
-#: js/viewfeed.js:1054
-msgid ""
-"Please note that unstarred articles might get purged on next feed update."
-msgstr ""
-"Bitte beachten Sie, das nicht markierte Artikel beim nächsten Update der "
-"Feeds gelöscht werden könnten."
+#: js/viewfeed.js:1055
+msgid "Please note that unstarred articles might get purged on next feed update."
+msgstr "Bitte beachten Sie, das nicht markierte Artikel beim nächsten Update der Feeds gelöscht werden könnten."
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "%d ausgewählten Artikel in %s als gelesen markieren?"
 msgstr[1] "%d ausgewählte Artikel in %s als gelesen markieren?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr "Artikel-Tags bearbeiten"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
 msgstr "Artikel-Tags werden gespeichert..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "Kein Artikel ausgewählt."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "Keine Artikel zum markieren gefunden"
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "%d Artikel als gelesen markieren?"
 msgstr[1] "%d Artikel als gelesen markieren?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "Originalartikel öffnen"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 msgid "Display article URL"
 msgstr "Zeige Artikel-URL an"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 msgid "Toggle marked"
 msgstr "Markierung ein-/ausschalten"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Label zuweisen"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "Label entfernen"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 msgid "Please enter new score for selected articles:"
 msgstr "Bitte geben Sie eine neue Bewertung für die ausgewählten Artikel ab:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 msgid "Please enter new score for this article:"
 msgstr "Bitte geben Sie eine neue Bewertung für diesen Artikel ab:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 msgid "Article URL:"
 msgstr "Artikel-URL:"
 
-#: plugins/digest/digest.js:72
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "%d Artikel als gelesen markieren?"
-msgstr[1] "%d Artikel als gelesen markieren?"
-
-#: plugins/digest/digest.js:290
-msgid "Error: unable to load article."
-msgstr "Fehler: konnte Artikel nicht laden."
-
-#: plugins/digest/digest.js:464
-msgid "Click to expand article."
-msgstr "Klicken um den Artikel aufzuklappen."
-
-#: plugins/digest/digest.js:535
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "%d mehr..."
-msgstr[1] "%d mehr..."
-
-#: plugins/digest/digest.js:542
-msgid "No unread feeds."
-msgstr "Keine ungelesenen Feeds."
-
-#: plugins/digest/digest.js:649
-msgid "Load more..."
-msgstr "Mehr laden..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
-msgstr ""
-"Entschuldigung, dein Browser unterstützt keine \"Sandbox\" für iframes."
+msgstr "Entschuldigung, dein Browser unterstützt keine \"Sandbox\" für iframes."
 
-#: plugins/mailto/init.js:21 plugins/mail/mail.js:21
+#: plugins/mailto/init.js:21
+#: plugins/mail/mail.js:21
 msgid "Forward article by email"
 msgstr "Artikel via E-Mail weiterleiten"
 
@@ -3477,18 +3413,10 @@ msgid "Export Data"
 msgstr "Daten exportieren"
 
 #: plugins/import_export/import_export.js:40
-msgid ""
-"Finished, exported %d article. You can download the data <a "
-"class='visibleLink' href='%u'>here</a>."
-msgid_plural ""
-"Finished, exported %d articles. You can download the data <a "
-"class='visibleLink' href='%u'>here</a>."
-msgstr[0] ""
-"Fertig, %d Artikel exportiert. <a class='visibleLink' href='%u'>Hier</a> "
-"herunterladen."
-msgstr[1] ""
-"Fertig, %d Artikel exportiert. <a class='visibleLink' href='%u'>Hier</a> "
-"herunterladen."
+msgid "Finished, exported %d article. You can download the data <a class='visibleLink' href='%u'>here</a>."
+msgid_plural "Finished, exported %d articles. You can download the data <a class='visibleLink' href='%u'>here</a>."
+msgstr[0] "Fertig, %d Artikel exportiert. <a class='visibleLink' href='%u'>Hier</a> herunterladen."
+msgstr[1] "Fertig, %d Artikel exportiert. <a class='visibleLink' href='%u'>Hier</a> herunterladen."
 
 #: plugins/import_export/import_export.js:93
 msgid "Data Import"
@@ -3526,7 +3454,8 @@ msgstr "Ausgewählte Instanzen entfernen?"
 msgid "Removing selected instances..."
 msgstr "Ausgewählte Instanzen werden entfernt..."
 
-#: plugins/instances/instances.js:139 plugins/instances/instances.js:151
+#: plugins/instances/instances.js:139
+#: plugins/instances/instances.js:151
 msgid "No instances are selected."
 msgstr "Keine Instanzen ausgewählt."
 
@@ -3539,12 +3468,93 @@ msgid "Share article by URL"
 msgstr "Artikel über URL teilen"
 
 #: plugins/updater/updater.js:58
-msgid ""
-"Backup your tt-rss directory before continuing. Please type 'yes' to "
-"continue."
-msgstr ""
-"Bitte sichern Sie ihr tt-rss Verzeichnis, bevor Sie fortfahren. Geben Sie "
-"'yes' ein, um fortzufahren."
+msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
+msgstr "Bitte sichern Sie ihr tt-rss Verzeichnis, bevor Sie fortfahren. Geben Sie 'yes' ein, um fortzufahren."
+
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Zeige/Verstecke leere Kategorien"
+
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Veröffentlichte Artikel und erzeugte Feeds"
+
+#~ msgid "Articles shared by URL"
+#~ msgstr "Per URL geteilte Artikel"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Folgende Feeds konnten aufgrund von Fehlern nicht aktualisiert werden:"
+
+#~ msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
+#~ msgstr "Diese Anwendung benötigt Javascript um ordnungsgemäß zu funktionieren. Bitte überprüfen Sie Ihre Browser-Einstellungen."
+
+#~ msgid "Hello,"
+#~ msgstr "Hallo,"
+
+#~ msgid "Regular version"
+#~ msgstr "Reguläre Version"
+
+#~ msgid "Home"
+#~ msgstr "Startseite"
+
+#~ msgid "Nothing found (click to reload feed)."
+#~ msgstr "Nichts gefunden (klicken um Feed zu aktualisieren)"
+
+#~ msgid "Open regular version"
+#~ msgstr "Reguläre Version öffnen"
+
+#~ msgid "Enable categories"
+#~ msgstr "Feedkategorien aktivieren"
+
+#~ msgid "ON"
+#~ msgstr "AN"
+
+#~ msgid "OFF"
+#~ msgstr "AUS"
+
+#~ msgid "Browse categories like folders"
+#~ msgstr "Kategorien wie Ordner behandeln"
+
+#~ msgid "Show images in posts"
+#~ msgstr "Bilder in Artikeln anzeigen"
+
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "Gelesene Artikel und Feeds verstecken"
+
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "Feeds nach Anzahl der ungelesenen Artikel sortieren"
+
+#~ msgid "Article archive"
+#~ msgstr "Artikelarchiv"
+
+#~ msgid "Example Pane"
+#~ msgstr "Beispiel Pane"
+
+#~ msgid "Sample value"
+#~ msgstr "Beispielwert"
+
+#~ msgid "Set value"
+#~ msgstr "Wert setzen"
+
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "%d Artikel als gelesen markieren?"
+#~ msgstr[1] "%d Artikel als gelesen markieren?"
+
+#~ msgid "Error: unable to load article."
+#~ msgstr "Fehler: konnte Artikel nicht laden."
+
+#~ msgid "Click to expand article."
+#~ msgstr "Klicken um den Artikel aufzuklappen."
+
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "%d mehr..."
+#~ msgstr[1] "%d mehr..."
+
+#~ msgid "No unread feeds."
+#~ msgstr "Keine ungelesenen Feeds."
+
+#~ msgid "Load more..."
+#~ msgstr "Mehr laden..."
 
 #~ msgid "Switch to digest..."
 #~ msgstr "Zur Zusammenfassung wechseln..."
@@ -3565,9 +3575,7 @@ msgstr ""
 #~ msgstr "Thema auswählen"
 
 #~ msgid "I have scanned the code and would like to enable OTP"
-#~ msgstr ""
-#~ "Ich habe den Code gescannt und möchte die Anmeldung mit Einmalpasswörtern "
-#~ "jetzt aktivieren"
+#~ msgstr "Ich habe den Code gescannt und möchte die Anmeldung mit Einmalpasswörtern jetzt aktivieren"
 
 #~ msgid "close"
 #~ msgstr "schließen"
@@ -3575,12 +3583,8 @@ msgstr ""
 #~ msgid "Playing..."
 #~ msgstr "Abspielen..."
 
-#~ msgid ""
-#~ "Could not upload file. You might need to adjust upload_max_filesize in "
-#~ "PHP.ini (current value = %s)"
-#~ msgstr ""
-#~ "Datei konnte nicht hochgeladen werden. Möglicherweise muss "
-#~ "upload_max_filesize in der PHP.ini angepasst werden. (Aktueller Wert = %s)"
+#~ msgid "Could not upload file. You might need to adjust upload_max_filesize in PHP.ini (current value = %s)"
+#~ msgstr "Datei konnte nicht hochgeladen werden. Möglicherweise muss upload_max_filesize in der PHP.ini angepasst werden. (Aktueller Wert = %s)"
 
 #~ msgid "Default interval between feed updates"
 #~ msgstr "Standard Intervall zwischen Feed-Aktualisierungen"
@@ -3600,12 +3604,8 @@ msgstr ""
 #~ msgid "Please backup your database before proceeding."
 #~ msgstr "Bitte sichern Sie Ihre Datenbank bevor Sie fortfahren."
 
-#~ msgid ""
-#~ "Your Tiny Tiny RSS database needs update to the latest version (<b>%d</b> "
-#~ "to <b>%d</b>)."
-#~ msgstr ""
-#~ "Ihre Tiny Tiny RSS Datenbank benötigt eine Aktualisierung auf die neuste "
-#~ "Version (<b>%d</b> nach <b>%d</b>)."
+#~ msgid "Your Tiny Tiny RSS database needs update to the latest version (<b>%d</b> to <b>%d</b>)."
+#~ msgstr "Ihre Tiny Tiny RSS Datenbank benötigt eine Aktualisierung auf die neuste Version (<b>%d</b> nach <b>%d</b>)."
 
 #~ msgid "Performing updates..."
 #~ msgstr "Führe Aktualisierungen durch..."
@@ -3623,14 +3623,9 @@ msgstr ""
 #~ msgstr "FEHLER!"
 
 #~ msgid "Finished. Performed <b>%d</b> update up to schema version <b>%d</b>."
-#~ msgid_plural ""
-#~ "Finished. Performed <b>%d</b> updates up to schema version <b>%d</b>."
-#~ msgstr[0] ""
-#~ "Beendet. <b>%d</b> Aktualisierung auf Schema Version <b>%d</b> "
-#~ "durchgeführt."
-#~ msgstr[1] ""
-#~ "Beendet. <b>%d</b> Aktualisierungen auf Schema Version <b>%d</b> "
-#~ "durchgeführt."
+#~ msgid_plural "Finished. Performed <b>%d</b> updates up to schema version <b>%d</b>."
+#~ msgstr[0] "Beendet. <b>%d</b> Aktualisierung auf Schema Version <b>%d</b> durchgeführt."
+#~ msgstr[1] "Beendet. <b>%d</b> Aktualisierungen auf Schema Version <b>%d</b> durchgeführt."
 
 #~ msgid "Your database schema is from a newer version of Tiny Tiny RSS."
 #~ msgstr "Ihr Datenbankschema stammt von einer neueren Tiny Tiny RSS Version."
@@ -3638,12 +3633,8 @@ msgstr ""
 #~ msgid "Found schema version: <b>%d</b>, required: <b>%d</b>."
 #~ msgstr "Gefundene Schemaversion: <b>%d</b>, benötigt: <b>%d</b>."
 
-#~ msgid ""
-#~ "Schema upgrade impossible. Please update Tiny Tiny RSS files to the newer "
-#~ "version and continue."
-#~ msgstr ""
-#~ "Aktualisierung des Schemas nicht möglich. Bitte aktualisieren Sie die "
-#~ "Tiny Tiny RSS Dateien auf die neuere Version und fahren Sie fort."
+#~ msgid "Schema upgrade impossible. Please update Tiny Tiny RSS files to the newer version and continue."
+#~ msgstr "Aktualisierung des Schemas nicht möglich. Bitte aktualisieren Sie die Tiny Tiny RSS Dateien auf die neuere Version und fahren Sie fort."
 
 #~ msgid "Mark feed as read"
 #~ msgstr "Feed als gelesen markieren"
@@ -3672,21 +3663,11 @@ msgstr ""
 #~ msgid "Modify score"
 #~ msgstr "Bewertung ändern"
 
-#~ msgid ""
-#~ "This option is useful when you are reading several planet-type "
-#~ "aggregators with partially colliding userbase. When disabled, it forces "
-#~ "same posts from different feeds to appear only once."
-#~ msgstr ""
-#~ "Diese Option dient zum Lesen von Feedsammlungen mit teilweise "
-#~ "wiederkehrenden Artikeln. Ist diese Option deaktiviert, wird ein Artikel "
-#~ "von unterschiedlichen Feedsquellen nur einmal angezeigt."
-
-#~ msgid ""
-#~ "When this option is enabled, headlines in Special feeds and Labels are "
-#~ "grouped by feeds"
-#~ msgstr ""
-#~ "Wenn diese Option aktiviert ist, werden Schlagzeilen in Sonderfeeds und "
-#~ "Labels nach Feeds gruppiert"
+#~ msgid "This option is useful when you are reading several planet-type aggregators with partially colliding userbase. When disabled, it forces same posts from different feeds to appear only once."
+#~ msgstr "Diese Option dient zum Lesen von Feedsammlungen mit teilweise wiederkehrenden Artikeln. Ist diese Option deaktiviert, wird ein Artikel von unterschiedlichen Feedsquellen nur einmal angezeigt."
+
+#~ msgid "When this option is enabled, headlines in Special feeds and Labels are grouped by feeds"
+#~ msgstr "Wenn diese Option aktiviert ist, werden Schlagzeilen in Sonderfeeds und Labels nach Feeds gruppiert"
 
 #~ msgid "Enable external API"
 #~ msgstr "Externe API aktivieren"
@@ -3721,9 +3702,7 @@ msgstr ""
 #~ msgstr "Fertig."
 
 #~ msgid "Enable the options you wish to apply using checkboxes on the right:"
-#~ msgstr ""
-#~ "Benutzen Sie die Auswahlkästchen auf der rechten Seite um die gewünschen "
-#~ "Optionen anzuwenden:"
+#~ msgstr "Benutzen Sie die Auswahlkästchen auf der rechten Seite um die gewünschen Optionen anzuwenden:"
 
 #~ msgid "New articles available in this feed (click to show)"
 #~ msgstr "Neue Artikel verfügbar (klicken zum Anzeigen)"
@@ -3761,12 +3740,8 @@ msgstr ""
 #~ msgid "Back to feeds"
 #~ msgstr "Zurück zu den Feeds"
 
-#~ msgid ""
-#~ "This will clear your stored authentication information for Twitter. "
-#~ "Continue?"
-#~ msgstr ""
-#~ "Dies wird Ihre gespeicherten Authentifizierungsinformationen für Twitter "
-#~ "löschen. Fortfahren?"
+#~ msgid "This will clear your stored authentication information for Twitter. Continue?"
+#~ msgstr "Dies wird Ihre gespeicherten Authentifizierungsinformationen für Twitter löschen. Fortfahren?"
 
 #~ msgid "Clearing credentials..."
 #~ msgstr "Berechtigungen werden gelöscht..."
@@ -3865,12 +3840,8 @@ msgstr ""
 #~ msgid "Focus search (if present)"
 #~ msgstr "Fokussierte Suche (wenn gewählt)"
 
-#~ msgid ""
-#~ "<b>Note:</b> not all actions may be available, depending on Tiny Tiny RSS "
-#~ "configuration and your access level."
-#~ msgstr ""
-#~ "<b>Anmerkung:</b> Abhängig von Ihren Tiny-Tiny-RSS-Einstellungen und "
-#~ "Zugriffsrechten könnten nicht alle Aktionen verfügbar sein."
+#~ msgid "<b>Note:</b> not all actions may be available, depending on Tiny Tiny RSS configuration and your access level."
+#~ msgstr "<b>Anmerkung:</b> Abhängig von Ihren Tiny-Tiny-RSS-Einstellungen und Zugriffsrechten könnten nicht alle Aktionen verfügbar sein."
 
 #~ msgid "Open article in new tab"
 #~ msgstr "Artikel in neuem Reiter öffnen"
@@ -3945,9 +3916,7 @@ msgstr ""
 #~ msgstr "Mit Twitter verbinden"
 
 #~ msgid "Could not connect to Twitter. Refresh the page or try again later."
-#~ msgstr ""
-#~ "Konnte nicht zu Twitter verbinden. Aktualisieren Sie die Seite oder "
-#~ "versuchen es später erneut."
+#~ msgstr "Konnte nicht zu Twitter verbinden. Aktualisieren Sie die Seite oder versuchen es später erneut."
 
 #~ msgid "Congratulations! You have successfully registered with Twitter."
 #~ msgstr "Glückwunsch! Sie haben sich erfolgreich mit Twitter verbunden."
@@ -3971,8 +3940,7 @@ msgstr ""
 #~ msgstr "Keine Feedkategorien definiert."
 
 #~ msgid "<b>Hint:</b> you can drag feeds and categories around."
-#~ msgstr ""
-#~ "<b>Hinweis</b>: Sie können Feeds und Kategorien mit der Maus herumziehen."
+#~ msgstr "<b>Hinweis</b>: Sie können Feeds und Kategorien mit der Maus herumziehen."
 
 #~ msgid "Subscribing using bookmarklet"
 #~ msgstr "Mit Bookmarklet abonnieren"
@@ -3980,19 +3948,11 @@ msgstr ""
 #~ msgid "Twitter"
 #~ msgstr "Twitter"
 
-#~ msgid ""
-#~ "Before you can update your Twitter feeds, you must register this instance "
-#~ "of Tiny Tiny RSS with Twitter.com."
-#~ msgstr ""
-#~ "Bevor Sie Ihre Twitter-Feeds aktualisieren können, müssen Sie diese "
-#~ "Instanz von Tiny Tiny RSS bei Twitter registrieren."
+#~ msgid "Before you can update your Twitter feeds, you must register this instance of Tiny Tiny RSS with Twitter.com."
+#~ msgstr "Bevor Sie Ihre Twitter-Feeds aktualisieren können, müssen Sie diese Instanz von Tiny Tiny RSS bei Twitter registrieren."
 
-#~ msgid ""
-#~ "You have been successfully registered with Twitter.com and should be able "
-#~ "to access your Twitter feeds."
-#~ msgstr ""
-#~ "Sie haben diese Instanz erfolgreich mit Twitter verbunden und sollten nun "
-#~ "auf Ihre Twitter-Feeds zugreifen können."
+#~ msgid "You have been successfully registered with Twitter.com and should be able to access your Twitter feeds."
+#~ msgstr "Sie haben diese Instanz erfolgreich mit Twitter verbunden und sollten nun auf Ihre Twitter-Feeds zugreifen können."
 
 #~ msgid "Register with Twitter.com"
 #~ msgstr "Mit Twitter registrieren"
@@ -4009,9 +3969,5 @@ msgstr ""
 #~ msgid "Filter Test Results"
 #~ msgstr "Filtertestergebnis"
 
-#~ msgid ""
-#~ "When \"Mark as read\" button is clicked in toolbar, automatically open "
-#~ "next feed with unread articles."
-#~ msgstr ""
-#~ "Beim Klick auf \"Als gelesen markieren\" in der Toolbar, automatisch "
-#~ "nächsten Feed mit ungelesenen Artikeln öffnen."
+#~ msgid "When \"Mark as read\" button is clicked in toolbar, automatically open next feed with unread articles."
+#~ msgstr "Beim Klick auf \"Als gelesen markieren\" in der Toolbar, automatisch nächsten Feed mit ungelesenen Artikeln öffnen."
index 8d749b9e2a243b8b840a5367a0a3a8201648224e..039960537311eb9fbf7ebe4d0f3cd4725a461d29 100644 (file)
Binary files a/locale/es_ES/LC_MESSAGES/messages.mo and b/locale/es_ES/LC_MESSAGES/messages.mo differ
index eaf61c1951260d2ab08a52e484877c21280f4c32..9ae64048fcf96be123d1444d4aa0600391b33df6 100644 (file)
@@ -7,10 +7,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: messages\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: 2013-04-30 17:51+0100\n"
 "Last-Translator: DavidM <milarupa@yahoo.es>\n"
 "Language-Team: Español <milarupa@yahoo.es>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -49,39 +50,49 @@ msgstr "3 meses de antigüedad"
 msgid "Default interval"
 msgstr "Intervalo por defecto"
 
-#: backend.php:83 backend.php:93
+#: backend.php:83
+#: backend.php:93
 msgid "Disable updates"
 msgstr "Desactivar actualizaciones"
 
-#: backend.php:84 backend.php:94
+#: backend.php:84
+#: backend.php:94
 msgid "Each 15 minutes"
 msgstr "Cada 15 minutos"
 
-#: backend.php:85 backend.php:95
+#: backend.php:85
+#: backend.php:95
 msgid "Each 30 minutes"
 msgstr "Cada 30 minutos"
 
-#: backend.php:86 backend.php:96
+#: backend.php:86
+#: backend.php:96
 msgid "Hourly"
 msgstr "Cada hora"
 
-#: backend.php:87 backend.php:97
+#: backend.php:87
+#: backend.php:97
 msgid "Each 4 hours"
 msgstr "Cada 4 horas"
 
-#: backend.php:88 backend.php:98
+#: backend.php:88
+#: backend.php:98
 msgid "Each 12 hours"
 msgstr "Cada 12 horas"
 
-#: backend.php:89 backend.php:99
+#: backend.php:89
+#: backend.php:99
 msgid "Daily"
 msgstr "Diariamente"
 
-#: backend.php:90 backend.php:100
+#: backend.php:90
+#: backend.php:100
 msgid "Weekly"
 msgstr "Semanalmente"
 
-#: backend.php:103 classes/pref/users.php:123 classes/pref/system.php:44
+#: backend.php:103
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Usuario"
 
@@ -94,20 +105,12 @@ msgid "Administrator"
 msgstr "Administrador"
 
 #: errors.php:9
-msgid ""
-"This program requires XmlHttpRequest to function properly. Your browser "
-"doesn't seem to support it."
-msgstr ""
-"Este programa requiere XmlHttpRequest para funcionar apropiadamente. Parece "
-"que su navegador no lo soporta."
+msgid "This program requires XmlHttpRequest to function properly. Your browser doesn't seem to support it."
+msgstr "Este programa requiere XmlHttpRequest para funcionar apropiadamente. Parece que su navegador no lo soporta."
 
 #: errors.php:12
-msgid ""
-"This program requires cookies to function properly. Your browser doesn't "
-"seem to support them."
-msgstr ""
-"Este programa requiere cookies para funcionar apropiadamente. Parece que su "
-"navegador no las soporta."
+msgid "This program requires cookies to function properly. Your browser doesn't seem to support them."
+msgstr "Este programa requiere cookies para funcionar apropiadamente. Parece que su navegador no las soporta."
 
 #: errors.php:15
 msgid "Backend sanity check failed."
@@ -118,12 +121,8 @@ msgid "Frontend sanity check failed."
 msgstr "La comprobación de validez del Frontend ha fallado"
 
 #: errors.php:19
-msgid ""
-"Incorrect database schema version. &lt;a href='db-updater.php'&gt;Please "
-"update&lt;/a&gt;."
-msgstr ""
-"La versión del esquema de la base de datos es incorrecta. &lt;a href='update."
-"php'&gt;Por favor, actualice&lt;/a&gt;."
+msgid "Incorrect database schema version. &lt;a href='db-updater.php'&gt;Please update&lt;/a&gt;."
+msgstr "La versión del esquema de la base de datos es incorrecta. &lt;a href='update.php'&gt;Por favor, actualice&lt;/a&gt;."
 
 #: errors.php:21
 msgid "Request not authorized."
@@ -134,47 +133,59 @@ msgid "No operation to perform."
 msgstr "Ninguna operación a realizar."
 
 #: errors.php:25
-msgid ""
-"Could not display feed: query failed. Please check label match syntax or "
-"local configuration."
-msgstr ""
-"No se puede mostrar la fuente: consulta fallida. Por favor, compruebe la "
-"expresión de coincidencia del marcador o la configuración local."
+msgid "Could not display feed: query failed. Please check label match syntax or local configuration."
+msgstr "No se puede mostrar la fuente: consulta fallida. Por favor, compruebe la expresión de coincidencia del marcador o la configuración local."
 
 #: errors.php:27
 msgid "Denied. Your access level is insufficient to access this page."
-msgstr ""
-"Denegado. Su nivel de acceso es insuficiente para acceder a esta página."
+msgstr "Denegado. Su nivel de acceso es insuficiente para acceder a esta página."
 
 #: errors.php:29
 msgid "Configuration check failed"
 msgstr "La comprobación de la configuración ha fallado."
 
 #: errors.php:31
-msgid ""
-"Your version of MySQL is not currently supported. Please see official site "
-"for more information."
-msgstr ""
-"Su versión de MySQL no está soportada. Por favor, visite el sitio oficial "
-"para obtener más información."
+msgid "Your version of MySQL is not currently supported. Please see official site for more information."
+msgstr "Su versión de MySQL no está soportada. Por favor, visite el sitio oficial para obtener más información."
 
 #: errors.php:35
 msgid "SQL escaping test failed, check your database and PHP configuration"
-msgstr ""
-"La prueba de escape SQL ha fallado. Por favor, revise la configuración de su "
-"base de datos y PHP."
-
-#: index.php:128 index.php:145 index.php:265 prefs.php:98
-#: classes/backend.php:5 classes/pref/labels.php:296
-#: classes/pref/filters.php:680 classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61 js/feedlist.js:128 js/feedlist.js:439
-#: js/functions.js:446 js/functions.js:784 js/functions.js:1194
-#: js/functions.js:1330 js/functions.js:1642 js/prefs.js:86 js/prefs.js:576
-#: js/prefs.js:666 js/prefs.js:867 js/prefs.js:1454 js/prefs.js:1507
-#: js/prefs.js:1566 js/prefs.js:1583 js/prefs.js:1599 js/prefs.js:1615
-#: js/prefs.js:1634 js/prefs.js:1807 js/prefs.js:1823 js/tt-rss.js:506
-#: js/tt-rss.js:523 js/viewfeed.js:820 js/viewfeed.js:1249
-#: plugins/import_export/import_export.js:17 plugins/updater/updater.js:17
+msgstr "La prueba de escape SQL ha fallado. Por favor, revise la configuración de su base de datos y PHP."
+
+#: index.php:128
+#: index.php:145
+#: index.php:265
+#: prefs.php:97
+#: classes/backend.php:5
+#: classes/pref/labels.php:296
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
+#: js/feedlist.js:128
+#: js/feedlist.js:441
+#: js/functions.js:446
+#: js/functions.js:784
+#: js/functions.js:1194
+#: js/functions.js:1330
+#: js/functions.js:1642
+#: js/prefs.js:86
+#: js/prefs.js:576
+#: js/prefs.js:666
+#: js/prefs.js:867
+#: js/prefs.js:1454
+#: js/prefs.js:1507
+#: js/prefs.js:1566
+#: js/prefs.js:1583
+#: js/prefs.js:1599
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
+#: plugins/import_export/import_export.js:17
+#: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
 msgstr "Cargando. Por favor, espere..."
 
@@ -194,15 +205,21 @@ msgstr "Adaptable"
 msgid "All Articles"
 msgstr "Todos"
 
-#: index.php:167 include/functions.php:2007 classes/feeds.php:98
+#: index.php:167
+#: include/functions.php:2008
+#: classes/feeds.php:98
 msgid "Starred"
 msgstr "Favoritos"
 
-#: index.php:168 include/functions.php:2008 classes/feeds.php:99
+#: index.php:168
+#: include/functions.php:2009
+#: classes/feeds.php:99
 msgid "Published"
 msgstr "Publicados"
 
-#: index.php:169 classes/feeds.php:85 classes/feeds.php:97
+#: index.php:169
+#: classes/feeds.php:85
+#: classes/feeds.php:97
 msgid "Unread"
 msgstr "Sin leer"
 
@@ -238,9 +255,13 @@ msgstr "Antiguos primero"
 msgid "Title"
 msgstr "Título"
 
-#: index.php:185 index.php:233 include/functions.php:1997
-#: classes/feeds.php:103 classes/feeds.php:441 js/FeedTree.js:128
-#: js/FeedTree.js:156 plugins/digest/digest.js:647
+#: index.php:185
+#: index.php:233
+#: include/functions.php:1998
+#: classes/feeds.php:103
+#: classes/feeds.php:424
+#: js/FeedTree.js:128
+#: js/FeedTree.js:156
 msgid "Mark as read"
 msgstr "Marcar como leído"
 
@@ -280,7 +301,8 @@ msgstr "Buscar..."
 msgid "Feed actions:"
 msgstr "Acciones de la fuente:"
 
-#: index.php:228 classes/handler/public.php:559
+#: index.php:228
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Suscribirse a una fuente..."
 
@@ -292,7 +314,9 @@ msgstr "Editar esta fuente..."
 msgid "Rescore feed"
 msgstr "Reiniciar la puntuación"
 
-#: index.php:231 classes/pref/feeds.php:759 classes/pref/feeds.php:1340
+#: index.php:231
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Cancelar la suscripción"
@@ -309,7 +333,8 @@ msgstr "Ocultar/Mostrar fuentes leídas"
 msgid "Other actions:"
 msgstr "Otras acciones:"
 
-#: index.php:236 include/functions.php:1983
+#: index.php:236
+#: include/functions.php:1984
 msgid "Toggle widescreen mode"
 msgstr "Alternar modo de pantalla ancha"
 
@@ -329,74 +354,82 @@ msgstr "Crear filtro..."
 msgid "Keyboard shortcuts help"
 msgstr "Ayuda para atajos de teclado"
 
-#: index.php:249 plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
+#: index.php:249
 msgid "Logout"
 msgstr "Cerrar sesión"
 
-#: prefs.php:33 prefs.php:116 include/functions.php:2010
+#: prefs.php:33
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Preferencias"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Atajos de teclado"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Salir de las preferencias"
 
-#: prefs.php:119 classes/pref/feeds.php:107 classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Fuentes"
 
-#: prefs.php:122 classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Filtros"
 
-#: prefs.php:125 include/functions.php:1176 include/functions.php:1831
-#: classes/pref/labels.php:90 plugins/mobile/mobile-functions.php:201
+#: prefs.php:124
+#: include/functions.php:1176
+#: include/functions.php:1832
+#: classes/pref/labels.php:90
 msgid "Labels"
 msgstr "Marcadores"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Usuarios"
 
-#: prefs.php:132
+#: prefs.php:131
 msgid "System"
 msgstr "Sistema"
 
-#: register.php:184 include/login_form.php:238
+#: register.php:184
+#: include/login_form.php:238
 msgid "Create new account"
 msgstr "Crear nueva cuenta"
 
 #: register.php:190
 msgid "New user registrations are administratively disabled."
-msgstr ""
-"El registro de nuevos usuarios ha sido deshabilitado por el administrador."
-
-#: register.php:194 register.php:239 register.php:252 register.php:267
-#: register.php:286 register.php:334 register.php:344 register.php:356
-#: classes/handler/public.php:629 classes/handler/public.php:717
-#: classes/handler/public.php:799 classes/handler/public.php:874
-#: classes/handler/public.php:888 classes/handler/public.php:895
-#: classes/handler/public.php:920
+msgstr "El registro de nuevos usuarios ha sido deshabilitado por el administrador."
+
+#: register.php:194
+#: register.php:239
+#: register.php:252
+#: register.php:267
+#: register.php:286
+#: register.php:334
+#: register.php:344
+#: register.php:356
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Volver a Tiny Tiny RSS"
 
 #: register.php:215
-msgid ""
-"Your temporary password will be sent to the specified email. Accounts, which "
-"were not logged in once, are erased automatically 24 hours after temporary "
-"password is sent."
-msgstr ""
-"Su contraseña temporal será enviada a la dirección de correo especificada. "
-"Las cuentas a las que no se acceda al menos una vez serán borradas "
-"automáticamente a las 24 horas de enviar la contraseña temporal."
+msgid "Your temporary password will be sent to the specified email. Accounts, which were not logged in once, are erased automatically 24 hours after temporary password is sent."
+msgstr "Su contraseña temporal será enviada a la dirección de correo especificada. Las cuentas a las que no se acceda al menos una vez serán borradas automáticamente a las 24 horas de enviar la contraseña temporal."
 
 #: register.php:221
 msgid "Desired login:"
@@ -406,11 +439,13 @@ msgstr "Nombre de usuario deseado:"
 msgid "Check availability"
 msgstr "Comprobar la disponibilidad"
 
-#: register.php:226 classes/handler/public.php:757
+#: register.php:226
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "Correo electrónico:"
 
-#: register.php:229 classes/handler/public.php:762
+#: register.php:229
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "¿Cuánto es dos más dos?"
 
@@ -442,9 +477,13 @@ msgstr "El registro de nuevos usuarios está cerrado en estos momentos."
 msgid "Tiny Tiny RSS data update script."
 msgstr "Script para actualizar datos de Tiny Tiny RSS."
 
-#: include/digest.php:109 include/functions.php:1185
-#: include/functions.php:1732 include/functions.php:1817
-#: include/functions.php:1839 classes/opml.php:416 classes/pref/feeds.php:220
+#: include/digest.php:109
+#: include/functions.php:1185
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
+#: classes/opml.php:416
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Sin clasificar"
 
@@ -459,315 +498,348 @@ msgstr[1] "%d artículos archivados"
 msgid "No feeds found."
 msgstr "No se han encontrado fuentes."
 
-#: include/functions.php:1174 include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Especial"
 
-#: include/functions.php:1681 classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: include/functions.php:1681
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Todas las fuentes"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Favoritos"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Publicados"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Recientes"
 
-#: include/functions.php:1890 include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Todos"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "Artículos archivados"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr "Leídos recientemente"
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Navegación"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 msgid "Open next feed"
 msgstr "Abrir la fuente siguiente"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr "Abrir la fuente siguiente"
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 msgid "Open next article"
 msgstr "Abrir el artículo siguiente"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 msgid "Open previous article"
 msgstr "Abrir el artículo anterior"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr "Abrir artículo siguiente (no desplazar artículos largos)"
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr "Abrir artículo anterior (no desplazar artículos largos)"
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr "Ir al artículo siguiente (no expandir ni marcar como leído)"
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr "Ir al artículo anterior (no expandir ni marcar como leído)"
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Mostrar el diálogo de búsqueda"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 msgid "Article"
 msgstr "Artículo"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Alternar favoritos"
 
-#: include/functions.php:1969 js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Alternar publicados"
 
-#: include/functions.php:1970 js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Alternar no leídos"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Editar etiquetas"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 msgid "Dismiss selected"
 msgstr "Desechar la selección"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 msgid "Dismiss read"
 msgstr "Desechar leídos"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 msgid "Open in new window"
 msgstr "Abrir en ventana nueva"
 
-#: include/functions.php:1975 js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr "Marcar artículos posteriores como leídos"
 
-#: include/functions.php:1976 js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr "Marcar artículos anteriores como leídos"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 msgid "Scroll down"
 msgstr "Desplazarse abajo"
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr "Desplazarse hacia arriba"
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 msgid "Select article under cursor"
 msgstr "Seleccionar el artículo que esté bajo el cursor del ratón"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr "Enviar artículo por correo"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 msgid "Close/collapse article"
 msgstr "Cerrar/plegar artículo"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 msgid "Toggle article expansion (combined mode)"
 msgstr "Alternar expansión de los artículos (modo combinado)"
 
-#: include/functions.php:1984 plugins/embed_original/init.php:31
+#: include/functions.php:1985
+#: plugins/embed_original/init.php:31
 msgid "Toggle embed original"
 msgstr "Alternar incrustación del artículo original"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 msgid "Article selection"
 msgstr "Selección de artículos"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr "Seleccionar todos los artículos"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 msgid "Select unread"
 msgstr "Seleccionar artículos sin leer"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 msgid "Select starred"
 msgstr "Seleccionar artículos favoritos"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 msgid "Select published"
 msgstr "Seleccionar artículos publicados"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 msgid "Invert selection"
 msgstr "Invertir selección "
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 msgid "Deselect everything"
 msgstr "Deseleccionar todo"
 
-#: include/functions.php:1992 classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Fuente"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 msgid "Refresh current feed"
 msgstr "Actualizar la fuente activa"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 msgid "Un/hide read feeds"
 msgstr "Ocultar/Mostrar fuentes leídas"
 
-#: include/functions.php:1995 classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Suscribirse a una fuente"
 
-#: include/functions.php:1996 js/FeedTree.js:135 js/PrefFeedTree.js:67
+#: include/functions.php:1997
+#: js/FeedTree.js:135
+#: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Editar fuente"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 msgid "Reverse headlines"
 msgstr "Invertir orden de titulares"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 msgid "Debug feed update"
 msgstr "Depurar la actualización de fuentes"
 
-#: include/functions.php:2000 js/FeedTree.js:178
+#: include/functions.php:2001
+#: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Marcar todas las fuentes como leídas"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 msgid "Un/collapse current category"
 msgstr "Desplegar/plegar la categoría"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 msgid "Toggle combined mode"
 msgstr "Alternar modo combinado"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 msgid "Toggle auto expand in combined mode"
 msgstr "Expandir automáticamente los artículos en el modo combinado"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 msgid "Go to"
 msgstr "Ir a"
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr "Reciente"
 
-#: include/functions.php:2009 js/tt-rss.js:456 js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Nube de etiquetas"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 msgid "Other"
 msgstr "Otro"
 
-#: include/functions.php:2012 classes/pref/labels.php:281
+#: include/functions.php:2013
+#: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Crear marcador"
 
-#: include/functions.php:2013 classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Crear filtro"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 msgid "Un/collapse sidebar"
 msgstr "Mostrar/ocultar la barra lateral"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 msgid "Show help dialog"
 msgstr "Mostrar el diálogo de ayuda"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr "Resultados de búsqueda: %s"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155 include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "sin etiquetas"
 
-#: include/functions.php:3165 classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Editar las etiquetas de este artículo"
 
-#: include/functions.php:3197 classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 msgid "Originally from:"
 msgstr "Original de:"
 
-#: include/functions.php:3210 classes/feeds.php:654 classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr "URL de la fuente"
 
-#: include/functions.php:3242 classes/dlg.php:37 classes/dlg.php:60
-#: classes/dlg.php:93 classes/dlg.php:159 classes/dlg.php:190
-#: classes/dlg.php:217 classes/dlg.php:250 classes/dlg.php:262
-#: classes/backend.php:105 classes/pref/users.php:99
-#: classes/pref/filters.php:147 classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641 classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405 plugins/import_export/init.php:450
-#: plugins/googlereaderimport/init.php:193 plugins/share/init.php:65
+#: include/functions.php:3241
+#: classes/dlg.php:37
+#: classes/dlg.php:60
+#: classes/dlg.php:93
+#: classes/dlg.php:159
+#: classes/dlg.php:190
+#: classes/dlg.php:217
+#: classes/dlg.php:250
+#: classes/dlg.php:262
+#: classes/backend.php:105
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
+#: plugins/googlereaderimport/init.php:193
+#: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Cerrar esta ventana"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr "(editar nota)"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "tipo desconocido"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 msgid "Attachments"
 msgstr "Adjuntos"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr "Error de LibXML %s en la línea %d (columna %d): %s"
 
-#: include/login_form.php:183 classes/handler/public.php:475
-#: classes/handler/public.php:752 plugins/mobile/login_form.php:40
+#: include/login_form.php:183
+#: classes/handler/public.php:475
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Nombre de usuario:"
 
-#: include/login_form.php:194 classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
+#: include/login_form.php:194
+#: classes/handler/public.php:478
 msgid "Password:"
 msgstr "Contraseña:"
 
@@ -779,8 +851,10 @@ msgstr "Olvidé mi contraseña"
 msgid "Profile:"
 msgstr "Perfil:"
 
-#: include/login_form.php:209 classes/handler/public.php:233
-#: classes/rpc.php:63 classes/pref/prefs.php:1036
+#: include/login_form.php:209
+#: classes/handler/public.php:233
+#: classes/rpc.php:63
+#: classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "Perfil por defecto"
 
@@ -790,15 +864,14 @@ msgstr "Usar menos tráfico"
 
 #: include/login_form.php:221
 msgid "Does not display images in articles, reduces automatic refreshes."
-msgstr ""
-"No muestra imágenes en los artículos, reduce las actualizaciones automáticas."
+msgstr "No muestra imágenes en los artículos, reduce las actualizaciones automáticas."
 
 #: include/login_form.php:229
 msgid "Remember me"
 msgstr "Recordarme"
 
-#: include/login_form.php:235 classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
+#: include/login_form.php:235
+#: classes/handler/public.php:483
 msgid "Log in"
 msgstr "Iniciar sesión"
 
@@ -814,28 +887,44 @@ msgstr "Artículo no encontrado."
 msgid "Tags for this article (separated by commas):"
 msgstr "Etiquetas para este artículo (separadas por comas):"
 
-#: classes/article.php:204 classes/pref/users.php:176
-#: classes/pref/labels.php:79 classes/pref/filters.php:405
-#: classes/pref/prefs.php:982 classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923 plugins/nsfw/init.php:83
-#: plugins/note/init.php:51 plugins/instances/init.php:245
+#: classes/article.php:204
+#: classes/pref/users.php:172
+#: classes/pref/labels.php:79
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
+#: plugins/nsfw/init.php:83
+#: plugins/note/init.php:51
+#: plugins/instances/init.php:245
 msgid "Save"
 msgstr "Guardar"
 
-#: classes/article.php:206 classes/handler/public.php:452
-#: classes/handler/public.php:486 classes/feeds.php:1037
-#: classes/feeds.php:1089 classes/feeds.php:1149 classes/pref/users.php:178
-#: classes/pref/labels.php:81 classes/pref/filters.php:408
-#: classes/pref/filters.php:803 classes/pref/filters.php:879
-#: classes/pref/filters.php:946 classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776 classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853 plugins/mail/init.php:124
-#: plugins/note/init.php:53 plugins/instances/init.php:248
+#: classes/article.php:206
+#: classes/handler/public.php:452
+#: classes/handler/public.php:486
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
+#: classes/pref/labels.php:81
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
+#: plugins/mail/init.php:124
+#: plugins/note/init.php:53
+#: plugins/instances/init.php:248
 #: plugins/instances/init.php:436
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: classes/handler/public.php:416 plugins/bookmarklets/init.php:36
+#: classes/handler/public.php:416
+#: plugins/bookmarklets/init.php:40
 msgid "Share with Tiny Tiny RSS"
 msgstr "Compartir con Tiny Tiny RSS"
 
@@ -843,8 +932,10 @@ msgstr "Compartir con Tiny Tiny RSS"
 msgid "Title:"
 msgstr "Título:"
 
-#: classes/handler/public.php:426 classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811 plugins/instances/init.php:212
+#: classes/handler/public.php:426
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
+#: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
 msgstr "URL:"
@@ -869,131 +960,118 @@ msgstr "Compartir"
 msgid "Not logged in"
 msgstr "No ha iniciado sesión"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Nombre de usuario o contraseña incorrecta"
 
-#: classes/handler/public.php:565 classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Ya está suscrito a <strong>%s</strong>."
 
-#: classes/handler/public.php:568 classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Suscrito a <strong>%s</strong>."
 
-#: classes/handler/public.php:571 classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "No se pudo suscribir a <b>%s</b>."
 
-#: classes/handler/public.php:574 classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "No se han encontrado fuentes en <b>%s</b>."
 
-#: classes/handler/public.php:577 classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 msgid "Multiple feed URLs found."
 msgstr "Múltiples fuentes encontradas."
 
-#: classes/handler/public.php:581 classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
-msgstr ""
-"No se pudo suscribir a <strong>%s</strong>. No se pudo descargar la fuente "
-"de su URL."
+msgstr "No se pudo suscribir a <strong>%s</strong>. No se pudo descargar la fuente de su URL."
 
-#: classes/handler/public.php:599 classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr "Suscribirse a la fuente seleccionada"
 
-#: classes/handler/public.php:624 classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Editar las opciones de suscripción"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 msgid "Password recovery"
 msgstr "Recuperación de contraseña"
 
-#: classes/handler/public.php:745
-msgid ""
-"You will need to provide valid account name and email. New password will be "
-"sent on your email address."
-msgstr ""
-"Se necesita que proporcione un nombre de usuario y correo electrónico "
-"válidos. La nueva contraseña será enviada a su correo electrónico."
+#: classes/handler/public.php:751
+msgid "You will need to provide valid account name and email. New password will be sent on your email address."
+msgstr "Se necesita que proporcione un nombre de usuario y correo electrónico válidos. La nueva contraseña será enviada a su correo electrónico."
 
-#: classes/handler/public.php:767 classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Redefinir contraseña"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr "Algunos de los parámetros necesarios son incorrectos o faltan."
 
-#: classes/handler/public.php:781 classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 msgid "Go back"
 msgstr "Volver"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr "Lo siento, combinación de usuario y correo electrónico incorrecta."
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "Su nivel de acceso es insuficiente para ejecutar este programa."
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Actualizador de la base de datos"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Actualizar"
 
 #: classes/dlg.php:16
-msgid ""
-"If you have imported labels and/or filters, you might need to reload "
-"preferences to see your new data."
-msgstr ""
-"Si ha importado marcadores y/o filtros, puede ser necesario recargar las "
-"preferencia para ver sus nuevos datos."
+msgid "If you have imported labels and/or filters, you might need to reload preferences to see your new data."
+msgstr "Si ha importado marcadores y/o filtros, puede ser necesario recargar las preferencia para ver sus nuevos datos."
 
 #: classes/dlg.php:48
 msgid "Your Public OPML URL is:"
 msgstr "La URL de su archivo OPML público es:"
 
-#: classes/dlg.php:57 classes/dlg.php:214
+#: classes/dlg.php:57
+#: classes/dlg.php:214
 msgid "Generate new URL"
 msgstr "Generar URL nueva"
 
 #: classes/dlg.php:71
-msgid ""
-"Update daemon is enabled in configuration, but daemon process is not "
-"running, which prevents all feeds from updating. Please start the daemon "
-"process or contact instance owner."
-msgstr ""
-"El demonio de actualización está habilitado en la configuración, pero el "
-"proceso del demonio no está en funcionamiento, lo cual impide la "
-"actualización de todas las fuentes. Por favor, inicie el proceso del demonio "
-"o solicítelo al propietario de la instancia."
+msgid "Update daemon is enabled in configuration, but daemon process is not running, which prevents all feeds from updating. Please start the daemon process or contact instance owner."
+msgstr "El demonio de actualización está habilitado en la configuración, pero el proceso del demonio no está en funcionamiento, lo cual impide la actualización de todas las fuentes. Por favor, inicie el proceso del demonio o solicítelo al propietario de la instancia."
 
-#: classes/dlg.php:75 classes/dlg.php:84
+#: classes/dlg.php:75
+#: classes/dlg.php:84
 msgid "Last update:"
 msgstr "Última actualización:"
 
 #: classes/dlg.php:80
-msgid ""
-"Update daemon is taking too long to perform a feed update. This could "
-"indicate a problem like crash or a hang. Please check the daemon process or "
-"contact instance owner."
-msgstr ""
-"El demonio de actualización está tardando demasiado en realizar una "
-"actualización de fuente. Esto podría deberse a un problema en el servidor "
-"(rotura, cuelgue,...). Por favor, compruebe el proceso del demonio o avise "
-"al propietario de la instancia."
+msgid "Update daemon is taking too long to perform a feed update. This could indicate a problem like crash or a hang. Please check the daemon process or contact instance owner."
+msgstr "El demonio de actualización está tardando demasiado en realizar una actualización de fuente. Esto podría deberse a un problema en el servidor (rotura, cuelgue,...). Por favor, compruebe el proceso del demonio o avise al propietario de la instancia."
 
 #: classes/dlg.php:166
 msgid "Match:"
@@ -1019,20 +1097,18 @@ msgstr "Mostrar artículos"
 msgid "You can view this feed as RSS using the following URL:"
 msgstr "Puede ver esta fuente en formato RSS en la siguiente URL:"
 
-#: classes/dlg.php:233 plugins/updater/init.php:331
+#: classes/dlg.php:233
+#: plugins/updater/init.php:331
 #, php-format
 msgid "New version of Tiny Tiny RSS is available (%s)."
 msgstr "Nueva versión de Tiny Tiny RSS disponible (%s)."
 
 #: classes/dlg.php:241
-msgid ""
-"You can update using built-in updater in the Preferences or by using update."
-"php"
-msgstr ""
-"Puede actualizar usando el gestor de actualización en las preferenciaso "
-"utilizando update.php"
+msgid "You can update using built-in updater in the Preferences or by using update.php"
+msgstr "Puede actualizar usando el gestor de actualización en las preferenciaso utilizando update.php"
 
-#: classes/dlg.php:245 plugins/updater/init.php:335
+#: classes/dlg.php:245
+#: plugins/updater/init.php:335
 msgid "See the release notes"
 msgstr "Ver las notas de la versión"
 
@@ -1042,9 +1118,7 @@ msgstr "Descargar"
 
 #: classes/dlg.php:255
 msgid "Error receiving version information or no new version available."
-msgstr ""
-"Error al recibir información de versiones, o no hay una nueva versión "
-"disponible."
+msgstr "Error al recibir información de versiones, o no hay una nueva versión disponible."
 
 #: classes/feeds.php:56
 #, php-format
@@ -1055,7 +1129,9 @@ msgstr "Última actualización: %s"
 msgid "View as RSS feed"
 msgstr "Ver como fuente RSS"
 
-#: classes/feeds.php:76 classes/feeds.php:128 classes/pref/feeds.php:1496
+#: classes/feeds.php:76
+#: classes/feeds.php:128
+#: classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "Ver como RSS"
 
@@ -1063,12 +1139,19 @@ msgstr "Ver como RSS"
 msgid "Select:"
 msgstr "Seleccionar:"
 
-#: classes/feeds.php:84 classes/pref/users.php:345 classes/pref/labels.php:275
-#: classes/pref/filters.php:282 classes/pref/filters.php:330
-#: classes/pref/filters.php:648 classes/pref/filters.php:736
-#: classes/pref/filters.php:763 classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323 classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659 plugins/instances/init.php:287
+#: classes/feeds.php:84
+#: classes/pref/users.php:341
+#: classes/pref/labels.php:275
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
+#: plugins/instances/init.php:287
 msgid "All"
 msgstr "Todo"
 
@@ -1076,12 +1159,19 @@ msgstr "Todo"
 msgid "Invert"
 msgstr "Invertir"
 
-#: classes/feeds.php:87 classes/pref/users.php:347 classes/pref/labels.php:277
-#: classes/pref/filters.php:284 classes/pref/filters.php:332
-#: classes/pref/filters.php:650 classes/pref/filters.php:738
-#: classes/pref/filters.php:765 classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325 classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661 plugins/instances/init.php:289
+#: classes/feeds.php:87
+#: classes/pref/users.php:343
+#: classes/pref/labels.php:277
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
+#: plugins/instances/init.php:289
 msgid "None"
 msgstr "Nada"
 
@@ -1109,13 +1199,17 @@ msgstr "Archivar"
 msgid "Move back"
 msgstr "Mover a la fuente original"
 
-#: classes/feeds.php:110 classes/pref/filters.php:291
-#: classes/pref/filters.php:339 classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/feeds.php:110
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "Borrar"
 
-#: classes/feeds.php:115 classes/feeds.php:120 plugins/mailto/init.php:25
+#: classes/feeds.php:115
+#: classes/feeds.php:120
+#: plugins/mailto/init.php:25
 #: plugins/mail/init.php:26
 msgid "Forward by email"
 msgstr "Enviar por correo electrónico"
@@ -1124,7 +1218,8 @@ msgstr "Enviar por correo electrónico"
 msgid "Feed:"
 msgstr "Fuente:"
 
-#: classes/feeds.php:197 classes/feeds.php:837
+#: classes/feeds.php:197
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Fuente no encontrada."
 
@@ -1137,129 +1232,142 @@ msgstr "Nunca "
 msgid "Imported at %s"
 msgstr "Importado en %s"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "marcar como leído"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 msgid "Collapse article"
 msgstr "Cerrar artículo"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "No se han encontrado artículos sin leer."
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "No se han encontrado artículos actualizados."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "No se han encontrado artículos favoritos."
 
-#: classes/feeds.php:748
-msgid ""
-"No articles found to display. You can assign articles to labels manually "
-"from article header context menu (applies to all selected articles) or use a "
-"filter."
-msgstr ""
-"No se han encontrado artículos que mostrar. Puede asignar artículos a los "
-"marcadores manualmente con el menú contextual del titular (se aplica a todos "
-"los artículos seleccionados) o usar un filtro."
+#: classes/feeds.php:735
+msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
+msgstr "No se han encontrado artículos que mostrar. Puede asignar artículos a los marcadores manualmente con el menú contextual del titular (se aplica a todos los artículos seleccionados) o usar un filtro."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "No se han encontrado artículos que mostrar."
 
-#: classes/feeds.php:765 classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "Última actualización de las fuentes: %s"
 
-#: classes/feeds.php:775 classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
-msgstr ""
-"Error al actualizar algunas fuentes (pulse aquí para obtener los detalles)"
+msgstr "Error al actualizar algunas fuentes (pulse aquí para obtener los detalles)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "No se ha seleccionado ninguna fuente."
 
-#: classes/feeds.php:975 classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 msgid "Feed or site URL"
 msgstr "URL de la fuente o del sitio"
 
-#: classes/feeds.php:989 classes/pref/feeds.php:592 classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Categoría:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "Fuentes disponibles"
 
-#: classes/feeds.php:1009 classes/pref/users.php:139
-#: classes/pref/feeds.php:622 classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Autenticación"
 
-#: classes/feeds.php:1013 classes/pref/users.php:402
-#: classes/pref/feeds.php:628 classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Iniciar sesión"
 
-#: classes/feeds.php:1016 classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641 classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/feeds.php:1003
+#: classes/pref/prefs.php:260
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "Contraseña:"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Esta fuente requiere autenticación."
 
-#: classes/feeds.php:1031 classes/feeds.php:1087 classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Suscribir"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "Más fuentes"
 
-#: classes/feeds.php:1057 classes/feeds.php:1148 classes/pref/users.php:332
-#: classes/pref/filters.php:641 classes/pref/feeds.php:1316 js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Buscar"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr "Fuentes populares"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr "Archivo de fuentes"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
 msgstr "límite:"
 
-#: classes/feeds.php:1088 classes/pref/users.php:358
-#: classes/pref/labels.php:284 classes/pref/filters.php:398
-#: classes/pref/filters.php:667 classes/pref/feeds.php:746
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
+#: classes/pref/labels.php:284
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Eliminar"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "Buscar"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Limitar la búsqueda a:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Esta fuente"
 
@@ -1283,7 +1391,8 @@ msgstr "Ctrl"
 msgid "Help topic not found."
 msgstr "Tema de ayuda no encontrado."
 
-#: classes/opml.php:28 classes/opml.php:33
+#: classes/opml.php:28
+#: classes/opml.php:33
 msgid "OPML Utility"
 msgstr "Utilidad OPML"
 
@@ -1329,18 +1438,21 @@ msgstr "Añadiendo filtro..."
 msgid "Processing category: %s"
 msgstr "Procesando categoría: %s"
 
-#: classes/opml.php:465 plugins/import_export/init.php:418
+#: classes/opml.php:465
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr "La subida falló con el código de error %d"
 
-#: classes/opml.php:479 plugins/import_export/init.php:432
+#: classes/opml.php:479
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 msgid "Unable to move uploaded file."
 msgstr "No se pudo mover el archivo subido."
 
-#: classes/opml.php:483 plugins/import_export/init.php:436
+#: classes/opml.php:483
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "Error: por favor, suba un fichero OPML."
@@ -1349,11 +1461,13 @@ msgstr "Error: por favor, suba un fichero OPML."
 msgid "Error: unable to find moved OPML file."
 msgstr "Error: no se pudo encontrar el fichero OPML movido."
 
-#: classes/opml.php:499 plugins/googlereaderimport/init.php:186
+#: classes/opml.php:499
+#: plugins/googlereaderimport/init.php:186
 msgid "Error while parsing document."
 msgstr "Error mientras se analizaba el documento."
 
-#: classes/pref/users.php:6 classes/pref/system.php:8
+#: classes/pref/users.php:6
+#: classes/pref/system.php:8
 #: plugins/instances/init.php:154
 msgid "Your access level is insufficient to open this tab."
 msgstr "Su nivel de acceso es insuficiente para abrir esta pestaña."
@@ -1362,7 +1476,8 @@ msgstr "Su nivel de acceso es insuficiente para abrir esta pestaña."
 msgid "User not found"
 msgstr "Usuario no encontrado"
 
-#: classes/pref/users.php:53 classes/pref/users.php:404
+#: classes/pref/users.php:53
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Registrado"
 
@@ -1378,100 +1493,106 @@ msgstr "Contador de fuentes suscritas"
 msgid "Subscribed feeds"
 msgstr "Fuentes suscritas"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Nivel de acceso:"
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Cambiar la contraseña a"
 
-#: classes/pref/users.php:161 classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Opciones"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "Correo electrónico:"
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
-msgstr ""
-"Se ha añadido al usuario <strong>%s</strong> con la contraseña <strong>%s</"
-"strong>"
+msgstr "Se ha añadido al usuario <strong>%s</strong> con la contraseña <strong>%s</strong>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "No se puede crear el usuario <strong>%s</strong>"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "El usuario <strong>%s</strong> ya existe."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr "Se ha cambiado la contraseña del usuario <b>%s</b> a <b>%s</b>"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
-msgstr ""
-"Enviando nueva contraseña del usuario <strong>%s</strong> a <strong>%s</"
-"strong>"
+msgstr "Enviando nueva contraseña del usuario <strong>%s</strong> a <strong>%s</strong>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] Notificación de cambio de contraseña"
 
-#: classes/pref/users.php:342 classes/pref/labels.php:272
-#: classes/pref/filters.php:279 classes/pref/filters.php:327
-#: classes/pref/filters.php:645 classes/pref/filters.php:733
-#: classes/pref/filters.php:760 classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320 classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656 plugins/instances/init.php:284
+#: classes/pref/users.php:338
+#: classes/pref/labels.php:272
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
+#: plugins/instances/init.php:284
 msgid "Select"
 msgstr "Seleccionar"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Crear usuario"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "Detalles"
 
-#: classes/pref/users.php:356 classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Editar"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Nivel de acceso"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Última sesión"
 
-#: classes/pref/users.php:426 plugins/instances/init.php:334
+#: classes/pref/users.php:420
+#: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Pulse aquí para editar"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "No se han definido usuarios."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "No se han encontrado usuarios coincidentes."
 
-#: classes/pref/labels.php:22 classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/labels.php:22
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Leyenda"
 
@@ -1496,117 +1617,124 @@ msgstr "Se ha creado la etiqueta <strong>%s</strong>"
 msgid "Clear colors"
 msgstr "Limpiar los colores"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr "Artículos coincidentes con este filtro:"
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 msgid "No recent articles matching this filter have been found."
 msgstr "No se han encontrado artículos recientes que coincidan con el filtro."
 
-#: classes/pref/filters.php:137
-msgid ""
-"Complex expressions might not give results while testing due to issues with "
-"database server regexp implementation."
-msgstr ""
-"Es posible que expresiones complejas no devuelvan resultados en la prueba, a "
-"causa de problemas técnicos con la base de datos (implementación de "
-"expresiones regulares)."
+#: classes/pref/filters.php:135
+msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
+msgstr "Es posible que expresiones complejas no devuelvan resultados en la prueba, a causa de problemas técnicos con la base de datos (implementación de expresiones regulares)."
 
-#: classes/pref/filters.php:274 classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Coincidir"
 
-#: classes/pref/filters.php:288 classes/pref/filters.php:336
-#: classes/pref/filters.php:742 classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr "Añadir"
 
-#: classes/pref/filters.php:322 classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 msgid "Apply actions"
 msgstr "Aplicar acciones"
 
-#: classes/pref/filters.php:372 classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Habilitado"
 
-#: classes/pref/filters.php:381 classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr "Coincidencia con cualquier regla"
 
-#: classes/pref/filters.php:390 classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 msgid "Inverse matching"
 msgstr "Coincidencia inversa"
 
-#: classes/pref/filters.php:402 classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Probar"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 msgid "(inverse)"
 msgstr "(inverso)"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr "%s en %s en %s %s"
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr "Combinar"
 
-#: classes/pref/filters.php:663 classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "Reiniciar orden"
 
-#: classes/pref/filters.php:671 classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Reiniciar la puntuación de los artículos"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Crear"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr "Coincidencia inversa con la expresión regular"
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "en el campo"
 
-#: classes/pref/filters.php:863 js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
+#: classes/pref/filters.php:861
+#: js/PrefFilterTree.js:45
 msgid "in"
 msgstr "en"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 msgid "Save rule"
 msgstr "Guardar regla"
 
-#: classes/pref/filters.php:876 js/functions.js:1013
+#: classes/pref/filters.php:874
+#: js/functions.js:1013
 msgid "Add rule"
 msgstr "Añadir regla"
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Realizar la acción"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "con los parámetros:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 msgid "Save action"
 msgstr "Guardar acción"
 
-#: classes/pref/filters.php:943 js/functions.js:1039
+#: classes/pref/filters.php:941
+#: js/functions.js:1039
 msgid "Add action"
 msgstr "Añadir acción"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 msgid "[No caption]"
 msgstr "[Sin leyenda]"
 
@@ -1639,24 +1767,16 @@ msgid "Blacklisted tags"
 msgstr "Etiquetas añadidas a la lista negra"
 
 #: classes/pref/prefs.php:27
-msgid ""
-"When auto-detecting tags in articles these tags will not be applied (comma-"
-"separated list)."
-msgstr ""
-"Cuando se autodetecten etiquetas en los artículos, no se incluirán estas "
-"etiquetas (lista de etiquetas separadas por comas)"
+msgid "When auto-detecting tags in articles these tags will not be applied (comma-separated list)."
+msgstr "Cuando se autodetecten etiquetas en los artículos, no se incluirán estas etiquetas (lista de etiquetas separadas por comas)"
 
 #: classes/pref/prefs.php:28
 msgid "Automatically mark articles as read"
 msgstr "Marcar como leídos los artículos automáticamente"
 
 #: classes/pref/prefs.php:28
-msgid ""
-"This option enables marking articles as read automatically while you scroll "
-"article list."
-msgstr ""
-"Esta opción permite que al desplazarse por la lista de artículos, los "
-"artículos se vayan marcando como leídos automáticamente."
+msgid "This option enables marking articles as read automatically while you scroll article list."
+msgstr "Esta opción permite que al desplazarse por la lista de artículos, los artículos se vayan marcando como leídos automáticamente."
 
 #: classes/pref/prefs.php:29
 msgid "Automatically expand articles in combined mode"
@@ -1667,12 +1787,8 @@ msgid "Combined feed display"
 msgstr "Despliegue combinado de la fuente"
 
 #: classes/pref/prefs.php:30
-msgid ""
-"Display expanded list of feed articles, instead of separate displays for "
-"headlines and article content"
-msgstr ""
-"Muestra una lista expandida de los artículos de la fuente, en lugar de "
-"mostrar por separado los títulos y contenidos de los artículos."
+msgid "Display expanded list of feed articles, instead of separate displays for headlines and article content"
+msgstr "Muestra una lista expandida de los artículos de la fuente, en lugar de mostrar por separado los títulos y contenidos de los artículos."
 
 #: classes/pref/prefs.php:31
 msgid "Confirm marking feed as read"
@@ -1687,12 +1803,8 @@ msgid "Default feed update interval"
 msgstr "Intervalo de actualización de fuentes por defecto"
 
 #: classes/pref/prefs.php:33
-msgid ""
-"Shortest interval at which a feed will be checked for updates regardless of "
-"update method"
-msgstr ""
-"Intervalo más breve en el cual una fuente será chequeada buscando "
-"actualizaciones, independientemente del método de actualización."
+msgid "Shortest interval at which a feed will be checked for updates regardless of update method"
+msgstr "Intervalo más breve en el cual una fuente será chequeada buscando actualizaciones, independientemente del método de actualización."
 
 #: classes/pref/prefs.php:34
 msgid "Mark articles in e-mail digest as read"
@@ -1703,13 +1815,8 @@ msgid "Enable e-mail digest"
 msgstr "Habilitar correo recopilatorio"
 
 #: classes/pref/prefs.php:35
-msgid ""
-"This option enables sending daily digest of new (and unread) headlines on "
-"your configured e-mail address"
-msgstr ""
-"Esta opción permite el envío diario de un recopilatorio de los titulares "
-"nuevos o sin leer a la dirección de correo que haya indicado en la "
-"configuración"
+msgid "This option enables sending daily digest of new (and unread) headlines on your configured e-mail address"
+msgstr "Esta opción permite el envío diario de un recopilatorio de los titulares nuevos o sin leer a la dirección de correo que haya indicado en la configuración"
 
 #: classes/pref/prefs.php:36
 msgid "Try to send digests around specified time"
@@ -1756,11 +1863,8 @@ msgid "On catchup show next feed"
 msgstr "Al ponerse al corriente, mostrar la siguiente fuente"
 
 #: classes/pref/prefs.php:44
-msgid ""
-"Automatically open next feed with unread articles after marking one as read"
-msgstr ""
-"Abrir automáticamente la siguiente fuente con artículos sin leer, después de "
-"marcar una fuente como leída"
+msgid "Automatically open next feed with unread articles after marking one as read"
+msgstr "Abrir automáticamente la siguiente fuente con artículos sin leer, después de marcar una fuente como leída"
 
 #: classes/pref/prefs.php:45
 msgid "Purge articles after this number of days (0 - disables)"
@@ -1770,7 +1874,7 @@ msgstr "Purgar artículos después de este número de días (0 - desactivado)"
 msgid "Purge unread articles"
 msgstr "Purgar artículos sin leer"
 
-#: classes/pref/prefs.php:47 plugins/mobile/prefs.php:56
+#: classes/pref/prefs.php:47
 msgid "Reverse headline order (oldest first)"
 msgstr "Invertir el orden de los titulares (los más antiguos primero)"
 
@@ -1788,9 +1892,7 @@ msgstr "Ordenar titulares por fecha de la fuente"
 
 #: classes/pref/prefs.php:50
 msgid "Use feed-specified date to sort headlines instead of local import date."
-msgstr ""
-"Usar fecha especificada en la fuente para ordenar los titulares en lugar de "
-"la fecha local de importación."
+msgstr "Usar fecha especificada en la fuente para ordenar los titulares en lugar de la fecha local de importación."
 
 #: classes/pref/prefs.php:51
 msgid "Login with an SSL certificate"
@@ -1810,11 +1912,10 @@ msgstr "Quitar las etiquetas inseguras de los artículos"
 
 #: classes/pref/prefs.php:53
 msgid "Strip all but most common HTML tags when reading articles."
-msgstr ""
-"Quitar etiquetas HTML, salvo las más comunes, cuando se esté leyendo los "
-"artículos."
+msgstr "Quitar etiquetas HTML, salvo las más comunes, cuando se esté leyendo los artículos."
 
-#: classes/pref/prefs.php:54 js/prefs.js:1734
+#: classes/pref/prefs.php:54
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "Personalizar hoja de estilo"
 
@@ -1832,9 +1933,7 @@ msgstr "Agrupar los titulares en fuentes virtuales"
 
 #: classes/pref/prefs.php:56
 msgid "Special feeds, labels, and categories are grouped by originating feeds"
-msgstr ""
-"Las fuentes especiales, marcadores y categorías se agrupan por fuente "
-"original"
+msgstr "Las fuentes especiales, marcadores y categorías se agrupan por fuente original"
 
 #: classes/pref/prefs.php:57
 msgid "Language"
@@ -1911,8 +2010,7 @@ msgstr "Su contraseña tiene el valor por defecto. Por favor, modifíquela."
 
 #: classes/pref/prefs.php:294
 msgid "Changing your current password will disable OTP."
-msgstr ""
-"Cambiar su contraseña actual desactivará las contraseñas de un solo uso."
+msgstr "Cambiar su contraseña actual desactivará las contraseñas de un solo uso."
 
 #: classes/pref/prefs.php:299
 msgid "Old password"
@@ -1935,14 +2033,11 @@ msgid "One time passwords / Authenticator"
 msgstr "Contraseñas de un solo uso / Autenticador"
 
 #: classes/pref/prefs.php:327
-msgid ""
-"One time passwords are currently enabled. Enter your current password below "
-"to disable."
-msgstr ""
-"Las contraseñas de un solo uso están habilitadas. Introduzca su contraseña "
-"actual para deshabilitar."
+msgid "One time passwords are currently enabled. Enter your current password below to disable."
+msgstr "Las contraseñas de un solo uso están habilitadas. Introduzca su contraseña actual para deshabilitar."
 
-#: classes/pref/prefs.php:352 classes/pref/prefs.php:403
+#: classes/pref/prefs.php:352
+#: classes/pref/prefs.php:403
 msgid "Enter your password"
 msgstr "Introduzca su contraseña"
 
@@ -1951,12 +2046,8 @@ msgid "Disable OTP"
 msgstr "Desactivar contraseñas de un solo uso"
 
 #: classes/pref/prefs.php:369
-msgid ""
-"You will need a compatible Authenticator to use this. Changing your password "
-"would automatically disable OTP."
-msgstr ""
-"Necesitará un Autenticador compatible para usar esta función. Cambiar su "
-"contraseña deshabilitaría automáticamente las contraseñas de un solo uso."
+msgid "You will need a compatible Authenticator to use this. Changing your password would automatically disable OTP."
+msgstr "Necesitará un Autenticador compatible para usar esta función. Cambiar su contraseña deshabilitaría automáticamente las contraseñas de un solo uso."
 
 #: classes/pref/prefs.php:371
 msgid "Scan the following code by the Authenticator application:"
@@ -1972,9 +2063,7 @@ msgstr "Activar contraseñas de un solo uso"
 
 #: classes/pref/prefs.php:428
 msgid "PHP GD functions are required for OTP support."
-msgstr ""
-"Se requieren funciones PHP GD para el funcionamiento de las contraseñas de "
-"un solo uso."
+msgstr "Se requieren funciones PHP GD para el funcionamiento de las contraseñas de un solo uso."
 
 #: classes/pref/prefs.php:471
 msgid "Some preferences are only available in default profile."
@@ -2013,97 +2102,88 @@ msgstr "Gestionar perfiles"
 msgid "Reset to defaults"
 msgstr "Opciones por defecto"
 
-#: classes/pref/prefs.php:706 classes/pref/prefs.php:708
+#: classes/pref/prefs.php:706
 msgid "Plugins"
 msgstr "Plugins"
 
-#: classes/pref/prefs.php:710
-msgid ""
-"You will need to reload Tiny Tiny RSS for plugin changes to take effect."
-msgstr ""
-"Tiene que recargar Tiny Tiny RSS para que tengan efecto los cambios en los "
-"plugins."
+#: classes/pref/prefs.php:708
+msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
+msgstr "Tiene que recargar Tiny Tiny RSS para que tengan efecto los cambios en los plugins."
 
-#: classes/pref/prefs.php:712
-msgid ""
-"Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank"
-"\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a "
-"target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins"
-"\">wiki</a>."
-msgstr ""
-"Descargue más plugins de tt-rss.org: <a class=\"visibleLink\" target=\"_blank"
-"\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">foros</a> y <a target="
-"\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins"
-"\">wiki</a>."
+#: classes/pref/prefs.php:710
+msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
+msgstr "Descargue más plugins de tt-rss.org: <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">foros</a> y <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr "Plugins de sistema"
 
-#: classes/pref/prefs.php:742 classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr "Plugin"
 
-#: classes/pref/prefs.php:743 classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 msgid "Description"
 msgstr "Descripción"
 
-#: classes/pref/prefs.php:744 classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr "Versión"
 
-#: classes/pref/prefs.php:745 classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr "Autor"
 
-#: classes/pref/prefs.php:774 classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr "más información"
 
-#: classes/pref/prefs.php:783 classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 msgid "Clear data"
 msgstr "Borrar datos"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr "Plugins de usuario"
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 msgid "Enable selected plugins"
 msgstr "Activar los plugins seleccionados"
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 msgid "Incorrect one time password"
 msgstr "Contraseña de un solo uso incorrecta"
 
-#: classes/pref/prefs.php:925 classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 msgid "Incorrect password"
 msgstr "Contraseña incorrecta"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
-msgid ""
-"You can override colors, fonts and layout of your currently selected theme "
-"with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink"
-"\" href=\"%s\">This file</a> can be used as a baseline."
-msgstr ""
-"Aquí puede cambiar los colores, fuentes y diseño de su tema actual mediante "
-"código CSS. Puede utilizar  <a target=\"_blank\" class=\"visibleLink\" href="
-"\"%s\">este archivo</a> como referencia."
+msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
+msgstr "Aquí puede cambiar los colores, fuentes y diseño de su tema actual mediante código CSS. Puede utilizar  <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">este archivo</a> como referencia."
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "Crear perfil"
 
-#: classes/pref/prefs.php:1030 classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(activo)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "Borrar los perfiles seleccionados"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "Activar perfil"
 
@@ -2111,306 +2191,257 @@ msgstr "Activar perfil"
 msgid "Check to enable field"
 msgstr "Marcar para habilitar el campo"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "Título de la fuente"
 
-#: classes/pref/feeds.php:600 classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Actualizar"
 
-#: classes/pref/feeds.php:615 classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Purga de artículos"
 
-#: classes/pref/feeds.php:645
-msgid ""
-"<b>Hint:</b> you need to fill in your login information if your feed "
-"requires authentication, except for Twitter feeds."
-msgstr ""
-"<b>Pista:</b> necesita rellenar su información de usuario si la fuente "
-"requiere autenticación, excepto para las fuentes de Twitter."
+#: classes/pref/feeds.php:632
+msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
+msgstr "<b>Pista:</b> necesita rellenar su información de usuario si la fuente requiere autenticación, excepto para las fuentes de Twitter."
 
-#: classes/pref/feeds.php:661 classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "No incluir en Fuentes Populares"
 
-#: classes/pref/feeds.php:673 classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "Incluir en el correo recopilatorio"
 
-#: classes/pref/feeds.php:686 classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Mostrar siempre imágenes adjuntas"
 
-#: classes/pref/feeds.php:699 classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr "No mostrar imágenes"
 
-#: classes/pref/feeds.php:712 classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Guardar las imágenes en la memoria caché local"
 
-#: classes/pref/feeds.php:724 classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "Marcar los artículos actualizados como no leídos"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr "Icono"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "Reemplazar"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr "Volver a suscribirse a las actualizaciones push"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
-msgstr ""
-"Reinicia el estatus de suscripción de PubSubHubbub para las fuentes "
-"habilitadas para push."
+msgstr "Reinicia el estatus de suscripción de PubSubHubbub para las fuentes habilitadas para push."
 
-#: classes/pref/feeds.php:1169 classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Hecho."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "Fuentes con errores"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 msgid "Inactive feeds"
 msgstr "Fuentes inactivas"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "Editar fuentes seleccionadas"
 
-#: classes/pref/feeds.php:1338 js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr "Suscripción en lote"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 msgid "Categories"
 msgstr "Categorías"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 msgid "Add category"
 msgstr "Añadir categoría"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 msgid "Remove selected"
 msgstr "Eliminar seleccionadas"
 
-#: classes/pref/feeds.php:1361
-msgid "(Un)hide empty categories"
-msgstr "Ocultar/Mostrar categorías vacías"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "Más acciones..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Purga manual"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Limpiar los datos de la fuente"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
-msgid ""
-"Using OPML you can export and import your feeds, filters, labels and Tiny "
-"Tiny RSS settings."
-msgstr ""
-"Puede usar OPML para importar y exportar sus fuentes, filtros, marcadores y "
-"preferencias de Tiny Tiny RSS."
+#: classes/pref/feeds.php:1411
+msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
+msgstr "Puede usar OPML para importar y exportar sus fuentes, filtros, marcadores y preferencias de Tiny Tiny RSS."
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr "Sólo el perfil de opciones principal se puede migrar usando OPML."
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 msgid "Import my OPML"
 msgstr "Importar OPML"
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr "Nombre de archivo:"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
 msgstr "Incluir preferencias"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 msgid "Export OPML"
 msgstr "Exportar OPML"
 
-#: classes/pref/feeds.php:1456
-msgid ""
-"Your OPML can be published publicly and can be subscribed by anyone who "
-"knows the URL below."
-msgstr ""
-"Puede hacer público su OPML. Cualquiera que conozca la siguiente URL podrá "
-"suscribirse al OPML."
+#: classes/pref/feeds.php:1438
+msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
+msgstr "Puede hacer público su OPML. Cualquiera que conozca la siguiente URL podrá suscribirse al OPML."
 
-#: classes/pref/feeds.php:1458
-msgid ""
-"Published OPML does not include your Tiny Tiny RSS settings, feeds that "
-"require authentication or feeds hidden from Popular feeds."
-msgstr ""
-"El OPML publicado no incluye sus preferencias, fuentes que requieren "
-"autenticación, ni fuentes ocultas de las Fuentes Populares."
+#: classes/pref/feeds.php:1440
+msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
+msgstr "El OPML publicado no incluye sus preferencias, fuentes que requieren autenticación, ni fuentes ocultas de las Fuentes Populares."
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr "URL del archivo OPML público"
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr "Mostrar la URL del OPML público"
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr "Integración con Firefox"
 
-#: classes/pref/feeds.php:1472
-msgid ""
-"This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the "
-"link below."
-msgstr ""
-"Esta instalación de Tiny tiny RSS puede ser usada como un lector de fuentes "
-"de Firefox si pulsa en el enlace de abajo."
+#: classes/pref/feeds.php:1454
+msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
+msgstr "Esta instalación de Tiny tiny RSS puede ser usada como un lector de fuentes de Firefox si pulsa en el enlace de abajo."
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Pulse aquí para registrar este sitio como un lector de fuentes."
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 msgid "Published & shared articles / Generated feeds"
 msgstr "Artículos publicados y compartidos / Fuentes generados"
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr "Artículos publicados y fuentes generadas"
+#: classes/pref/feeds.php:1471
+msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
+msgstr "Los artículos publicados son exportados como una fuente RSS pública a la cual podrá suscribirse cualquiera que conozca la URL especificada a continuación."
 
-#: classes/pref/feeds.php:1491
-msgid ""
-"Published articles are exported as a public RSS feed and can be subscribed "
-"by anyone who knows the URL specified below."
-msgstr ""
-"Los artículos publicados son exportados como una fuente RSS pública a la "
-"cual podrá suscribirse cualquiera que conozca la URL especificada a "
-"continuación."
-
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr "Mostrar URL"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr "Limpiar todas las URLs generadas"
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr "Artículos compartidos mediante URL"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
-msgstr ""
-"Aquí puede desactivar todos los artículos compartidos mediante URLs únicas."
+msgstr "Aquí puede desactivar todos los artículos compartidos mediante URLs únicas."
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 msgid "Unshare all articles"
 msgstr "Dejar de compartir todos los artículos"
 
-#: classes/pref/feeds.php:1582
-msgid ""
-"These feeds have not been updated with new content for 3 months (oldest "
-"first):"
-msgstr ""
-"Estas fuentes no han publicado contenidos nuevos al menos en 3 meses (más "
-"antiguas primero):"
+#: classes/pref/feeds.php:1568
+msgid "These feeds have not been updated with new content for 3 months (oldest first):"
+msgstr "Estas fuentes no han publicado contenidos nuevos al menos en 3 meses (más antiguas primero):"
 
-#: classes/pref/feeds.php:1619 classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "Pulse para editar fuente"
 
-#: classes/pref/feeds.php:1637 classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "Cancelar la suscripción a las fuentes seleccionadas"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr ""
-"Estas fuentes no han sido actualizadas debido a los siguientes errores:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
-msgstr ""
-"Añadir una fuente RSS válida en cada línea (no se realizará detección de "
-"fuentes)"
+msgstr "Añadir una fuente RSS válida en cada línea (no se realizará detección de fuentes)"
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr "Fuentes para suscribirse, una por línea"
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr "Las fuentes requieren autenticación."
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr "Log de errores"
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 msgid "Refresh"
 msgstr "Actualizar"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "Limpiar los colores"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr "Error"
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 msgid "Filename"
 msgstr "Nombre de archivo"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr "Mensaje"
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "Fecha"
 
-#: plugins/digest/digest_body.php:57
-msgid ""
-"Your browser doesn't support Javascript, which is required for this "
-"application to function properly. Please check your browser settings."
-msgstr ""
-"Esta aplicación requiere Javascript y su navegador no lo soporta. Por favor, "
-"revise la configuración de su navegador."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Hola,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr "Versión estándar"
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr "Cerrar artículo"
 
-#: plugins/nsfw/init.php:29 plugins/nsfw/init.php:40
+#: plugins/nsfw/init.php:29
+#: plugins/nsfw/init.php:40
 msgid "Not work safe (click to toggle)"
 msgstr "NSFW (click para alternar)"
 
@@ -2438,61 +2469,15 @@ msgstr "La contraseña ha sido cambiada."
 msgid "Old password is incorrect."
 msgstr "La contraseña antigua es incorrecta."
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376 plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr "Página principal"
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr "No se encontró nada (clic para recargar la fuente)."
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr "Abrir versión estándar"
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr "Habilitar categorías"
-
-#: plugins/mobile/prefs.php:31 plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42 plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52 plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr "ON"
-
-#: plugins/mobile/prefs.php:31 plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42 plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52 plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr "OFF"
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr "Ver categorías como carpetas"
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr "Mostrar imágenes en los artículos"
-
-#: plugins/mobile/prefs.php:46
-msgid "Hide read articles and feeds"
-msgstr "Ocultar artículos y fuentes leídos"
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr "Ordenar fuentes por número de artículos sin leer"
-
-#: plugins/mailto/init.php:49 plugins/mailto/init.php:55
-#: plugins/mail/init.php:64 plugins/mail/init.php:70
+#: plugins/mailto/init.php:49
+#: plugins/mailto/init.php:55
+#: plugins/mail/init.php:64
+#: plugins/mail/init.php:70
 msgid "[Forwarded]"
 msgstr "[Reenviado]"
 
-#: plugins/mailto/init.php:49 plugins/mail/init.php:64
+#: plugins/mailto/init.php:49
+#: plugins/mail/init.php:64
 msgid "Multiple articles"
 msgstr "Múltiples artículos"
 
@@ -2505,10 +2490,8 @@ msgid "Forward selected article(s) by email."
 msgstr "Enviar artículo por correo"
 
 #: plugins/mailto/init.php:78
-msgid ""
-"You should be able to edit the message before sending in your mail client."
-msgstr ""
-"Debería poder editar el mensaje en su aplicación de correo antes de enviarlo."
+msgid "You should be able to edit the message before sending in your mail client."
+msgstr "Debería poder editar el mensaje en su aplicación de correo antes de enviarlo."
 
 #: plugins/mailto/init.php:83
 msgid "Close this dialog"
@@ -2519,43 +2502,30 @@ msgid "Bookmarklets"
 msgstr "Bookmarklets"
 
 #: plugins/bookmarklets/init.php:22
-msgid ""
-"Drag the link below to your browser toolbar, open the feed you're interested "
-"in in your browser and click on the link to subscribe to it."
-msgstr ""
-"Arrastre el siguiente enlace a la barra de herramientas de su navegador. "
-"Cuando esté interesado en suscribirse a una fuente, ábrala con el navegador "
-"y pulse el enlace para suscribirse."
+msgid "Drag the link below to your browser toolbar, open the feed you're interested in in your browser and click on the link to subscribe to it."
+msgstr "Arrastre el siguiente enlace a la barra de herramientas de su navegador. Cuando esté interesado en suscribirse a una fuente, ábrala con el navegador y pulse el enlace para suscribirse."
 
 #: plugins/bookmarklets/init.php:26
 #, php-format
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "¿Suscribirse a %s con Tiny Tiny RSS?"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Suscribirse con Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
-msgstr ""
-"Use este bookmarklet para publicar cualquier página usando Tiny Tiny RSS"
+msgstr "Use este bookmarklet para publicar cualquier página usando Tiny Tiny RSS"
 
 #: plugins/import_export/init.php:58
 msgid "Import and export"
 msgstr "Importar y exportar"
 
 #: plugins/import_export/init.php:60
-msgid "Article archive"
-msgstr "Archivo de artículos"
-
-#: plugins/import_export/init.php:62
-msgid ""
-"You can export and import your Starred and Archived articles for safekeeping "
-"or when migrating between tt-rss instances."
-msgstr ""
-"Puede exportar e importar sus artículos favoritos y archivados para tener "
-"una copia de seguridad, o para migrar entre instancias de Tiny Tiny RSS."
+#, fuzzy
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
+msgstr "Puede exportar e importar sus artículos favoritos y archivados para tener una copia de seguridad, o para migrar entre instancias de Tiny Tiny RSS."
 
 #: plugins/import_export/init.php:65
 msgid "Export my data"
@@ -2565,48 +2535,49 @@ msgstr "Exportar mis datos"
 msgid "Import"
 msgstr "Importar"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr "Fallo de la importación: la versión del esquema es incorrecta."
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr "Fallo de la importación: no se reconoce el formato del documento."
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr "Terminado:"
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] "% artículo procesado, "
 msgstr[1] "% artículos procesados, "
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] "%d importado, "
 msgstr[1] "%d importados, "
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] "%d fuente creada."
 msgstr[1] "%d fuentes creadas."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr "No se pudo cargar documento XML."
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr "Preparar datos"
 
-#: plugins/import_export/init.php:444 plugins/googlereaderimport/init.php:92
+#: plugins/import_export/init.php:446
+#: plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
 msgstr "No se ha cargado ningún archivo."
 
@@ -2626,22 +2597,11 @@ msgstr "Asunto:"
 msgid "Send e-mail"
 msgstr "Enviar correo electrónico"
 
-#: plugins/note/init.php:26 plugins/note/note.js:11
+#: plugins/note/init.php:26
+#: plugins/note/note.js:11
 msgid "Edit article note"
 msgstr "Editar nota del artículo"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr "Panel de ejemplo"
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr "Valor de muestra"
-
-#: plugins/example/init.php:73
-msgid "Set value"
-msgstr "Definir valor"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -2667,29 +2627,35 @@ msgstr "Importar mis items favoritos"
 msgid "Linked"
 msgstr "Enlazado"
 
-#: plugins/instances/init.php:204 plugins/instances/init.php:395
+#: plugins/instances/init.php:204
+#: plugins/instances/init.php:395
 msgid "Instance"
 msgstr "Instancia"
 
-#: plugins/instances/init.php:215 plugins/instances/init.php:312
+#: plugins/instances/init.php:215
+#: plugins/instances/init.php:312
 #: plugins/instances/init.php:404
 msgid "Instance URL"
 msgstr "URL de la instancia"
 
-#: plugins/instances/init.php:226 plugins/instances/init.php:414
+#: plugins/instances/init.php:226
+#: plugins/instances/init.php:414
 msgid "Access key:"
 msgstr "Clave de acceso:"
 
-#: plugins/instances/init.php:229 plugins/instances/init.php:313
+#: plugins/instances/init.php:229
+#: plugins/instances/init.php:313
 #: plugins/instances/init.php:417
 msgid "Access key"
 msgstr "Clave de acceso"
 
-#: plugins/instances/init.php:233 plugins/instances/init.php:421
+#: plugins/instances/init.php:233
+#: plugins/instances/init.php:421
 msgid "Use one access key for both linked instances."
 msgstr "Usar una clave de acceso para ambas instancias enlazadas."
 
-#: plugins/instances/init.php:241 plugins/instances/init.php:429
+#: plugins/instances/init.php:241
+#: plugins/instances/init.php:429
 msgid "Generate new key"
 msgstr "Generar nueva clave"
 
@@ -2698,13 +2664,8 @@ msgid "Link instance"
 msgstr "Enlazar instancia"
 
 #: plugins/instances/init.php:304
-msgid ""
-"You can connect other instances of Tiny Tiny RSS to this one to share "
-"Popular feeds. Link to this instance of Tiny Tiny RSS by using this URL:"
-msgstr ""
-"Puede conectar otras instancias de Tiny Tiny RSS con esta para compartir "
-"Fuentes Populares. Para enlazar esta instancia de Tiny Tiny RSS con otras "
-"utilice esta URL:"
+msgid "You can connect other instances of Tiny Tiny RSS to this one to share Popular feeds. Link to this instance of Tiny Tiny RSS by using this URL:"
+msgstr "Puede conectar otras instancias de Tiny Tiny RSS con esta para compartir Fuentes Populares. Para enlazar esta instancia de Tiny Tiny RSS con otras utilice esta URL:"
 
 #: plugins/instances/init.php:314
 msgid "Last connected"
@@ -2730,7 +2691,8 @@ msgstr "Compartir mediante URL"
 msgid "You can share this article by the following unique URL:"
 msgstr "Puede compartir este artículo con la siguiente URL única:"
 
-#: plugins/updater/init.php:321 plugins/updater/init.php:338
+#: plugins/updater/init.php:321
+#: plugins/updater/init.php:338
 #: plugins/updater/updater.js:10
 msgid "Update Tiny Tiny RSS"
 msgstr "Actualizar Tiny Tiny RSS"
@@ -2741,28 +2703,19 @@ msgstr "Su instalación de Tiny Tiny RSS está actualizada."
 
 #: plugins/updater/init.php:349
 msgid "Do not close this dialog until updating is finished."
-msgstr ""
-"No cierre este cuadro de diálogo hasta que haya terminado la actualización."
+msgstr "No cierre este cuadro de diálogo hasta que haya terminado la actualización."
 
 #: plugins/updater/init.php:358
 msgid "It is suggested to backup your tt-rss directory first."
-msgstr ""
-"Se recomienda hacer previamente una copia de seguridad del directorio de "
-"Tiny Tiny RSS."
+msgstr "Se recomienda hacer previamente una copia de seguridad del directorio de Tiny Tiny RSS."
 
 #: plugins/updater/init.php:359
 msgid "Your database will not be modified."
 msgstr "Su base de datos no será modificada."
 
 #: plugins/updater/init.php:360
-msgid ""
-"Your current tt-rss installation directory will not be modified. It will be "
-"renamed and left in the parent directory. You will be able to migrate all "
-"your customized files after update finishes."
-msgstr ""
-"El directorio actual de su instalación de Tiny Tiny RSS no será modificado. "
-"Será renombrado, y quedará en el directorio padre. Después de concluir la "
-"actualización usted podrá migrar todos los archivos personalizados que tenga."
+msgid "Your current tt-rss installation directory will not be modified. It will be renamed and left in the parent directory. You will be able to migrate all your customized files after update finishes."
+msgstr "El directorio actual de su instalación de Tiny Tiny RSS no será modificado. Será renombrado, y quedará en el directorio padre. Después de concluir la actualización usted podrá migrar todos los archivos personalizados que tenga."
 
 #: plugins/updater/init.php:361
 msgid "Ready to update."
@@ -2772,38 +2725,30 @@ msgstr "Listo para actualizar"
 msgid "Start update"
 msgstr "Empezar actualización"
 
-#: js/feedlist.js:395 js/feedlist.js:423 plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "¿Marcar todos los artículos de %s como leídos?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 msgid "Mark all articles in %s older than 1 day as read?"
-msgstr ""
-"¿Marcar como leídos todos los artículos de más de 1 día de antigüedad de %s? "
+msgstr "¿Marcar como leídos todos los artículos de más de 1 día de antigüedad de %s? "
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 msgid "Mark all articles in %s older than 1 week as read?"
-msgstr ""
-"¿Marcar como leídos todos los artículos de más de 1 semana de antigüedad de "
-"%s?"
+msgstr "¿Marcar como leídos todos los artículos de más de 1 semana de antigüedad de %s?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 msgid "Mark all articles in %s older than 2 weeks as read?"
-msgstr ""
-"¿Marcar como leídos todos los artículos de más de 2 semanas de antigüedad de "
-"%s?"
+msgstr "¿Marcar como leídos todos los artículos de más de 2 semanas de antigüedad de %s?"
 
 #: js/functions.js:65
 msgid "The error will be reported to the configured log destination."
 msgstr "El error será reportado a la ubicación configurada para los logs."
 
 #: js/functions.js:107
-msgid ""
-"Are you sure to report this exception to tt-rss.org? The report will include "
-"your browser information. Your IP would be saved in the database."
-msgstr ""
-"¿Está seguro de que quiere reportar esta excepción a tt-rss.org? El informe "
-"incluirá los datos de su navegador. Su dirección IP quedará guardada."
+msgid "Are you sure to report this exception to tt-rss.org? The report will include your browser information. Your IP would be saved in the database."
+msgstr "¿Está seguro de que quiere reportar esta excepción a tt-rss.org? El informe incluirá los datos de su navegador. Su dirección IP quedará guardada."
 
 #: js/functions.js:236
 msgid "Click to close"
@@ -2894,18 +2839,15 @@ msgid "Create Filter"
 msgstr "Crear filtro"
 
 #: js/functions.js:1191
-msgid ""
-"Reset subscription? Tiny Tiny RSS will try to subscribe to the notification "
-"hub again on next feed update."
-msgstr ""
-"¿Restaurar suscripción? Tiny Tiny RSS volverá a intentar suscribirse al hub "
-"de notificaciones en la siguiente actualización de fuentes."
+msgid "Reset subscription? Tiny Tiny RSS will try to subscribe to the notification hub again on next feed update."
+msgstr "¿Restaurar suscripción? Tiny Tiny RSS volverá a intentar suscribirse al hub de notificaciones en la siguiente actualización de fuentes."
 
 #: js/functions.js:1202
 msgid "Subscription reset."
 msgstr "Suscripción reiniciada."
 
-#: js/functions.js:1212 js/tt-rss.js:650
+#: js/functions.js:1212
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "¿Cancelar la suscripción a %s?"
 
@@ -2921,11 +2863,14 @@ msgstr "Introduzca el nombre de la categoría:"
 msgid "Generate new syndication address for this feed?"
 msgstr "¿Generar nueva dirección de sindicación para esta fuente?"
 
-#: js/functions.js:1359 js/prefs.js:1231
+#: js/functions.js:1359
+#: js/prefs.js:1231
 msgid "Trying to change address..."
 msgstr "Intentando cambiar la dirección..."
 
-#: js/functions.js:1546 js/tt-rss.js:421 js/tt-rss.js:631
+#: js/functions.js:1546
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "No puede editar esta clase de fuente."
 
@@ -2933,7 +2878,9 @@ msgstr "No puede editar esta clase de fuente."
 msgid "Edit Feed"
 msgstr "Editar fuente"
 
-#: js/functions.js:1567 js/prefs.js:194 js/prefs.js:749
+#: js/functions.js:1567
+#: js/prefs.js:194
+#: js/prefs.js:749
 msgid "Saving data..."
 msgstr "Guardando datos..."
 
@@ -2941,29 +2888,33 @@ msgstr "Guardando datos..."
 msgid "More Feeds"
 msgstr "Más fuentes"
 
-#: js/functions.js:1660 js/functions.js:1770 js/prefs.js:397 js/prefs.js:427
-#: js/prefs.js:459 js/prefs.js:642 js/prefs.js:662 js/prefs.js:1207
+#: js/functions.js:1660
+#: js/functions.js:1770
+#: js/prefs.js:397
+#: js/prefs.js:427
+#: js/prefs.js:459
+#: js/prefs.js:642
+#: js/prefs.js:662
+#: js/prefs.js:1207
 #: js/prefs.js:1352
 msgid "No feeds are selected."
 msgstr "No se han seleccionado fuentes."
 
 #: js/functions.js:1702
-msgid ""
-"Remove selected feeds from the archive? Feeds with stored articles will not "
-"be removed."
-msgstr ""
-"¿Eliminar las fuentes seleccionadas del archivo? Las fuentes con artículos "
-"archivados no serán eliminadas."
+msgid "Remove selected feeds from the archive? Feeds with stored articles will not be removed."
+msgstr "¿Eliminar las fuentes seleccionadas del archivo? Las fuentes con artículos archivados no serán eliminadas."
 
 #: js/functions.js:1741
 msgid "Feeds with update errors"
 msgstr "Fuentes con errores de actualización"
 
-#: js/functions.js:1752 js/prefs.js:1189
+#: js/functions.js:1752
+#: js/prefs.js:1189
 msgid "Remove selected feeds?"
 msgstr "¿Borrar fuentes seleccionadas?"
 
-#: js/functions.js:1755 js/prefs.js:1192
+#: js/functions.js:1755
+#: js/prefs.js:1192
 msgid "Removing selected feeds..."
 msgstr "Borrando fuentes seleccionadas..."
 
@@ -2989,8 +2940,7 @@ msgstr "Por favor, introduzca el nombre de usuario:"
 
 #: js/prefs.js:62
 msgid "Can't create user: no login specified."
-msgstr ""
-"No se puede crear el usuario: no se ha especificado el nombre de usuario."
+msgstr "No se puede crear el usuario: no se ha especificado el nombre de usuario."
 
 #: js/prefs.js:66
 msgid "Adding user..."
@@ -3020,23 +2970,23 @@ msgstr "¿Borrar los marcadores seleccionados?"
 msgid "Removing selected labels..."
 msgstr "Eliminando las etiquetas seleccionadas..."
 
-#: js/prefs.js:295 js/prefs.js:1393
+#: js/prefs.js:295
+#: js/prefs.js:1393
 msgid "No labels are selected."
 msgstr "No se han seleccionado marcadores."
 
 #: js/prefs.js:309
-msgid ""
-"Remove selected users? Neither default admin nor your account will be "
-"removed."
-msgstr ""
-"¿Borrar los usuarios seleccionados? Su cuenta y la cuenta del administrador "
-"por defecto no serán borradas."
+msgid "Remove selected users? Neither default admin nor your account will be removed."
+msgstr "¿Borrar los usuarios seleccionados? Su cuenta y la cuenta del administrador por defecto no serán borradas."
 
 #: js/prefs.js:312
 msgid "Removing selected users..."
 msgstr "Eliminando los usuarios seleccionados..."
 
-#: js/prefs.js:326 js/prefs.js:507 js/prefs.js:528 js/prefs.js:567
+#: js/prefs.js:326
+#: js/prefs.js:507
+#: js/prefs.js:528
+#: js/prefs.js:567
 msgid "No users are selected."
 msgstr "No se han seleccionado usuarios."
 
@@ -3048,7 +2998,9 @@ msgstr "¿Eliminar los filtros seleccionados?"
 msgid "Removing selected filters..."
 msgstr "Eliminando los filtros seleccionados..."
 
-#: js/prefs.js:359 js/prefs.js:597 js/prefs.js:616
+#: js/prefs.js:359
+#: js/prefs.js:597
+#: js/prefs.js:616
 msgid "No filters are selected."
 msgstr "No se han seleccionado filtros."
 
@@ -3074,8 +3026,7 @@ msgstr "Limpiando las fuentes seleccionadas..."
 
 #: js/prefs.js:440
 msgid "How many days of articles to keep (0 - use default)?"
-msgstr ""
-"¿Cuántos días desea guardar los artículos? (0 = configuración por defecto)"
+msgstr "¿Cuántos días desea guardar los artículos? (0 = configuración por defecto)"
 
 #: js/prefs.js:443
 msgid "Purging selected feed..."
@@ -3089,7 +3040,9 @@ msgstr "El campo de nombre de usuario no puede dejarse en blanco."
 msgid "Saving user..."
 msgstr "Guardando usuario..."
 
-#: js/prefs.js:512 js/prefs.js:533 js/prefs.js:572
+#: js/prefs.js:512
+#: js/prefs.js:533
+#: js/prefs.js:572
 msgid "Please select only one user."
 msgstr "Por favor, seleccione un solo usuario."
 
@@ -3133,7 +3086,8 @@ msgstr "Importar OPML"
 msgid "Please choose an OPML file first."
 msgstr "Por favor, seleccione un archivo OPML."
 
-#: js/prefs.js:815 plugins/import_export/import_export.js:115
+#: js/prefs.js:815
+#: plugins/import_export/import_export.js:115
 #: plugins/googlereaderimport/init.js:45
 msgid "Importing, please wait..."
 msgstr "Importando, espere por favor..."
@@ -3143,10 +3097,8 @@ msgid "Reset to defaults?"
 msgstr "¿Restaurar las opciones por defecto?"
 
 #: js/prefs.js:1096
-msgid ""
-"Remove category %s? Any nested feeds would be placed into Uncategorized."
-msgstr ""
-"¿Borrar la categoría %s? Cualquier subcategoría será movida a Sin Categoría."
+msgid "Remove category %s? Any nested feeds would be placed into Uncategorized."
+msgstr "¿Borrar la categoría %s? Cualquier subcategoría será movida a Sin Categoría."
 
 #: js/prefs.js:1102
 msgid "Removing category..."
@@ -3178,9 +3130,7 @@ msgstr "Fuentes sin actualizaciones recientes"
 
 #: js/prefs.js:1227
 msgid "Replace current OPML publishing address with a new one?"
-msgstr ""
-"¿Reemplazar la dirección actual de publicación del OPML por una dirección "
-"nueva?"
+msgstr "¿Reemplazar la dirección actual de publicación del OPML por una dirección nueva?"
 
 #: js/prefs.js:1316
 msgid "Clearing feed..."
@@ -3188,8 +3138,7 @@ msgstr "Limpiando la fuente..."
 
 #: js/prefs.js:1336
 msgid "Rescore articles in selected feeds?"
-msgstr ""
-"¿Reiniciar la puntuación de los artículos de las fuentes seleccionadas?"
+msgstr "¿Reiniciar la puntuación de los artículos de las fuentes seleccionadas?"
 
 #: js/prefs.js:1339
 msgid "Rescoring selected feeds..."
@@ -3197,9 +3146,7 @@ msgstr "Volviendo a puntuar las fuentes seleccionadas..."
 
 #: js/prefs.js:1359
 msgid "Rescore all articles? This operation may take a lot of time."
-msgstr ""
-"¿Reiniciar la puntuación de todos los artículos? Esta operación puede llevar "
-"cierto tiempo."
+msgstr "¿Reiniciar la puntuación de todos los artículos? Esta operación puede llevar cierto tiempo."
 
 #: js/prefs.js:1362
 msgid "Rescoring feeds..."
@@ -3214,11 +3161,8 @@ msgid "Settings Profiles"
 msgstr "Perfiles de preferencias"
 
 #: js/prefs.js:1425
-msgid ""
-"Remove selected profiles? Active and default profiles will not be removed."
-msgstr ""
-"¿Borrar los perfiles seleccionados? El perfil activo y el perfil por defecto "
-"no serán borrados."
+msgid "Remove selected profiles? Active and default profiles will not be removed."
+msgstr "¿Borrar los perfiles seleccionados? El perfil activo y el perfil por defecto no serán borrados."
 
 #: js/prefs.js:1428
 msgid "Removing selected profiles..."
@@ -3228,11 +3172,13 @@ msgstr "Borrando los perfiles seleccionados..."
 msgid "No profiles are selected."
 msgstr "No se ha seleccionado ningún perfil."
 
-#: js/prefs.js:1451 js/prefs.js:1504
+#: js/prefs.js:1451
+#: js/prefs.js:1504
 msgid "Activate selected profile?"
 msgstr "¿Activar el perfil seleccionado?"
 
-#: js/prefs.js:1467 js/prefs.js:1520
+#: js/prefs.js:1467
+#: js/prefs.js:1520
 msgid "Please choose a profile to activate."
 msgstr "Seleccione un perfil para activar."
 
@@ -3244,7 +3190,8 @@ msgstr "Creando perfil..."
 msgid "This will invalidate all previously generated feed URLs. Continue?"
 msgstr "Se invalidarán todas las URLs generadas previamente. ¿Continuar?"
 
-#: js/prefs.js:1531 js/prefs.js:1550
+#: js/prefs.js:1531
+#: js/prefs.js:1550
 msgid "Clearing URLs..."
 msgstr "Limpiando URLs..."
 
@@ -3260,223 +3207,201 @@ msgstr "Se invalidarán todas las URLs de artículos compartidos. ¿Continuar?"
 msgid "Shared URLs cleared."
 msgstr "Las URLs compartidas han sido borradas."
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Editor de marcadores"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr "Suscribiéndose a las fuentes..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr "¿Borrar los datos guardados por este plugin?"
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "¿Marcar todos los artículos como leídos?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr "Marcando todas las fuentes como leídas..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 msgid "Please enable mail plugin first."
 msgstr "Por favor, habilite primero el plugin mail."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 msgid "Please enable embed_original plugin first."
 msgstr "Por favor, habilite primero el plugin embed_original."
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr "Seleccionar artículo(s) por etiquetas"
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "No puede cancelar la suscripción a la categoría."
 
-#: js/tt-rss.js:644 js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Por favor, seleccione primero alguna fuente."
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "No puede reiniciar la puntuación de esta clase de fuente."
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "¿Reiniciar la puntuación de los artículos de %s?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
 msgstr "Reiniciando la puntuación de los artículos..."
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr "¡Nueva versión disponible!"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 msgid "Cancel search"
 msgstr "Cancelar búsqueda"
 
-#: js/viewfeed.js:453 plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Quitar el artículo de los favoritos"
 
-#: js/viewfeed.js:457 plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Marcar el artículo como favorito"
 
-#: js/viewfeed.js:497 plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Despublicar artículo"
 
-#: js/viewfeed.js:501 plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Publicar artículo"
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 msgid "%d article selected"
 msgid_plural "%d articles selected"
 msgstr[0] "%d artículo seleccionado"
 msgstr[1] "%d artículos seleccionados"
 
-#: js/viewfeed.js:725 js/viewfeed.js:753 js/viewfeed.js:780 js/viewfeed.js:843
-#: js/viewfeed.js:877 js/viewfeed.js:997 js/viewfeed.js:1040
-#: js/viewfeed.js:1093 js/viewfeed.js:2091 plugins/mailto/init.js:7
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
+#: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "No se han seleccionado artículos."
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "¿Borrar %d artículo seleccionado en %s?"
 msgstr[1] "¿Borrar %d artículos seleccionados en %s?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "¿Borrar %d artículo seleccionado?"
 msgstr[1] "¿Borrar %d artículos seleccionados?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "¿Archivar %d artículo seleccionado en %s?"
 msgstr[1] "¿Archivar %d artículos seleccionados en %s?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "¿Mover %d artículo archivado a su fuente original?"
 msgstr[1] "¿Mover %d artículos archivados a su fuente original?"
 
-#: js/viewfeed.js:1054
-msgid ""
-"Please note that unstarred articles might get purged on next feed update."
-msgstr ""
-"Recuerde que los artículos no favoritos podrían ser purgados en la siguiente "
-"actualización de las fuentes."
+#: js/viewfeed.js:1055
+msgid "Please note that unstarred articles might get purged on next feed update."
+msgstr "Recuerde que los artículos no favoritos podrían ser purgados en la siguiente actualización de las fuentes."
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "¿Marcar %d artículo seleccionado de %s como leído?"
 msgstr[1] "¿Marcar %d artículos seleccionados de %s como leídos?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr "Editar las etiquetas del artículo"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
 msgstr "Guardando las etiquetas del artículo..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "No se ha seleccionado ningún artículo."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "No se han encontrado artículos que marcar"
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "¿Marcar %d artículo como leído?"
 msgstr[1] "¿Marcar %d artículos como leídos?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "Abrir artículo original"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 msgid "Display article URL"
 msgstr "Mostrar la URL del artículo"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 msgid "Toggle marked"
 msgstr "Alternar favorito"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Asignar marcador"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "Borrar marcador"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 msgid "Please enter new score for selected articles:"
 msgstr "Por favor, introduzca puntuación para los artículos seleccionados:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 msgid "Please enter new score for this article:"
 msgstr "Por favor, introduzca puntuación para este artículo:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 msgid "Article URL:"
 msgstr "URL del artículo:"
 
-#: plugins/digest/digest.js:72
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "¿Marcar %d artículo mostrado como leído?"
-msgstr[1] "¿Marcar %d artículos mostrados como leídos?"
-
-#: plugins/digest/digest.js:290
-msgid "Error: unable to load article."
-msgstr "Error: no se pudo cargar el artículo."
-
-#: plugins/digest/digest.js:464
-msgid "Click to expand article."
-msgstr "Hacer clic para expandir el artículo."
-
-#: plugins/digest/digest.js:535
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "%d más..."
-msgstr[1] "%d más..."
-
-#: plugins/digest/digest.js:542
-msgid "No unread feeds."
-msgstr "No hay fuentes sin leer."
-
-#: plugins/digest/digest.js:649
-msgid "Load more..."
-msgstr "Cargar más..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr "Lo siento, su navegador no soporta iframes aislados (sandbox)."
 
-#: plugins/mailto/init.js:21 plugins/mail/mail.js:21
+#: plugins/mailto/init.js:21
+#: plugins/mail/mail.js:21
 msgid "Forward article by email"
 msgstr "Enviar artículo por correo"
 
@@ -3485,18 +3410,10 @@ msgid "Export Data"
 msgstr "Exportar datos"
 
 #: plugins/import_export/import_export.js:40
-msgid ""
-"Finished, exported %d article. You can download the data <a "
-"class='visibleLink' href='%u'>here</a>."
-msgid_plural ""
-"Finished, exported %d articles. You can download the data <a "
-"class='visibleLink' href='%u'>here</a>."
-msgstr[0] ""
-"Terminado, %d artículo exportado. Puede descargar los datos <a "
-"class='visibleLink' href='%u'>aquí</a>."
-msgstr[1] ""
-"Terminado, %d artículos exportados. Puede descargar los datos <a "
-"class='visibleLink' href='%u'>aquí</a>."
+msgid "Finished, exported %d article. You can download the data <a class='visibleLink' href='%u'>here</a>."
+msgid_plural "Finished, exported %d articles. You can download the data <a class='visibleLink' href='%u'>here</a>."
+msgstr[0] "Terminado, %d artículo exportado. Puede descargar los datos <a class='visibleLink' href='%u'>aquí</a>."
+msgstr[1] "Terminado, %d artículos exportados. Puede descargar los datos <a class='visibleLink' href='%u'>aquí</a>."
 
 #: plugins/import_export/import_export.js:93
 msgid "Data Import"
@@ -3534,7 +3451,8 @@ msgstr "¿Borrar instancias seleccionadas?"
 msgid "Removing selected instances..."
 msgstr "Borrando instancias seleccionadas..."
 
-#: plugins/instances/instances.js:139 plugins/instances/instances.js:151
+#: plugins/instances/instances.js:139
+#: plugins/instances/instances.js:151
 msgid "No instances are selected."
 msgstr "No se han seleccionado instancias."
 
@@ -3547,12 +3465,93 @@ msgid "Share article by URL"
 msgstr "Compartir artículo mediante URL"
 
 #: plugins/updater/updater.js:58
-msgid ""
-"Backup your tt-rss directory before continuing. Please type 'yes' to "
-"continue."
-msgstr ""
-"Haga copia de seguridad del directorio de Tiny Tiny RSS antes de continuar. "
-"Por favor escriba 'yes' para continuar."
+msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
+msgstr "Haga copia de seguridad del directorio de Tiny Tiny RSS antes de continuar. Por favor escriba 'yes' para continuar."
+
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Ocultar/Mostrar categorías vacías"
+
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Artículos publicados y fuentes generadas"
+
+#~ msgid "Articles shared by URL"
+#~ msgstr "Artículos compartidos mediante URL"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Estas fuentes no han sido actualizadas debido a los siguientes errores:"
+
+#~ msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
+#~ msgstr "Esta aplicación requiere Javascript y su navegador no lo soporta. Por favor, revise la configuración de su navegador."
+
+#~ msgid "Hello,"
+#~ msgstr "Hola,"
+
+#~ msgid "Regular version"
+#~ msgstr "Versión estándar"
+
+#~ msgid "Home"
+#~ msgstr "Página principal"
+
+#~ msgid "Nothing found (click to reload feed)."
+#~ msgstr "No se encontró nada (clic para recargar la fuente)."
+
+#~ msgid "Open regular version"
+#~ msgstr "Abrir versión estándar"
+
+#~ msgid "Enable categories"
+#~ msgstr "Habilitar categorías"
+
+#~ msgid "ON"
+#~ msgstr "ON"
+
+#~ msgid "OFF"
+#~ msgstr "OFF"
+
+#~ msgid "Browse categories like folders"
+#~ msgstr "Ver categorías como carpetas"
+
+#~ msgid "Show images in posts"
+#~ msgstr "Mostrar imágenes en los artículos"
+
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "Ocultar artículos y fuentes leídos"
+
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "Ordenar fuentes por número de artículos sin leer"
+
+#~ msgid "Article archive"
+#~ msgstr "Archivo de artículos"
+
+#~ msgid "Example Pane"
+#~ msgstr "Panel de ejemplo"
+
+#~ msgid "Sample value"
+#~ msgstr "Valor de muestra"
+
+#~ msgid "Set value"
+#~ msgstr "Definir valor"
+
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "¿Marcar %d artículo mostrado como leído?"
+#~ msgstr[1] "¿Marcar %d artículos mostrados como leídos?"
+
+#~ msgid "Error: unable to load article."
+#~ msgstr "Error: no se pudo cargar el artículo."
+
+#~ msgid "Click to expand article."
+#~ msgstr "Hacer clic para expandir el artículo."
+
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "%d más..."
+#~ msgstr[1] "%d más..."
+
+#~ msgid "No unread feeds."
+#~ msgstr "No hay fuentes sin leer."
+
+#~ msgid "Load more..."
+#~ msgstr "Cargar más..."
 
 #~ msgid "Switch to digest..."
 #~ msgstr "Modo resumen..."
@@ -3573,8 +3572,7 @@ msgstr ""
 #~ msgstr "Seleccionar tema"
 
 #~ msgid "I have scanned the code and would like to enable OTP"
-#~ msgstr ""
-#~ "He escaneado el código y quiero habilitar las contraseñas de un solo uso"
+#~ msgstr "He escaneado el código y quiero habilitar las contraseñas de un solo uso"
 
 #~ msgid "close"
 #~ msgstr "cerrar"
@@ -3582,12 +3580,8 @@ msgstr ""
 #~ msgid "Playing..."
 #~ msgstr "Reproduciendo..."
 
-#~ msgid ""
-#~ "Could not upload file. You might need to adjust upload_max_filesize in "
-#~ "PHP.ini (current value = %s)"
-#~ msgstr ""
-#~ "No se puedo cargar el archivo. Puede ser necesario ajustar el parámetro "
-#~ "upload_max_filesize en PHP.ini (valor actual = %s)"
+#~ msgid "Could not upload file. You might need to adjust upload_max_filesize in PHP.ini (current value = %s)"
+#~ msgstr "No se puedo cargar el archivo. Puede ser necesario ajustar el parámetro upload_max_filesize en PHP.ini (valor actual = %s)"
 
 #~ msgid "Default interval between feed updates"
 #~ msgstr "Intervalo por defecto entre actualizaciones de las fuentes"
@@ -3596,8 +3590,7 @@ msgstr ""
 #~ msgstr "No se pudo actualizar la base de datos"
 
 #~ msgid "Could not find necessary schema file, need version:"
-#~ msgstr ""
-#~ "No se pudo encontrar el fichero de esquema necesario. Versión necesaria:"
+#~ msgstr "No se pudo encontrar el fichero de esquema necesario. Versión necesaria:"
 
 #~ msgid ", found: "
 #~ msgstr ", encontrado:"
@@ -3606,16 +3599,10 @@ msgstr ""
 #~ msgstr "La base de datos de Tiny Tiny RSS está actualizada."
 
 #~ msgid "Please backup your database before proceeding."
-#~ msgstr ""
-#~ "Por favor, haga una copia de seguridad de su base de datos antes de "
-#~ "continuar."
+#~ msgstr "Por favor, haga una copia de seguridad de su base de datos antes de continuar."
 
-#~ msgid ""
-#~ "Your Tiny Tiny RSS database needs update to the latest version (<b>%d</b> "
-#~ "to <b>%d</b>)."
-#~ msgstr ""
-#~ "Su base de datos Tiny Tiny RSS necesita ser actualizada a la última "
-#~ "versión (<b>%d</b> to <b>%d</b>)."
+#~ msgid "Your Tiny Tiny RSS database needs update to the latest version (<b>%d</b> to <b>%d</b>)."
+#~ msgstr "Su base de datos Tiny Tiny RSS necesita ser actualizada a la última versión (<b>%d</b> to <b>%d</b>)."
 
 #~ msgid "Performing updates..."
 #~ msgstr "Actualizando..."
@@ -3634,29 +3621,18 @@ msgstr ""
 
 #, fuzzy
 #~ msgid "Finished. Performed <b>%d</b> update up to schema version <b>%d</b>."
-#~ msgid_plural ""
-#~ "Finished. Performed <b>%d</b> updates up to schema version <b>%d</b>."
-#~ msgstr[0] ""
-#~ "Tarea terminada. Realizada(s) <b>%d</b> actualización(es) a la versión "
-#~ "del esquema <b>%d</b>."
-#~ msgstr[1] ""
-#~ "Tarea terminada. Realizada(s) <b>%d</b> actualización(es) a la versión "
-#~ "del esquema <b>%d</b>."
+#~ msgid_plural "Finished. Performed <b>%d</b> updates up to schema version <b>%d</b>."
+#~ msgstr[0] "Tarea terminada. Realizada(s) <b>%d</b> actualización(es) a la versión del esquema <b>%d</b>."
+#~ msgstr[1] "Tarea terminada. Realizada(s) <b>%d</b> actualización(es) a la versión del esquema <b>%d</b>."
 
 #~ msgid "Your database schema is from a newer version of Tiny Tiny RSS."
-#~ msgstr ""
-#~ "El esquema de su base de datos corresponde a una versión más reciente de "
-#~ "Tiny Tiny RSS."
+#~ msgstr "El esquema de su base de datos corresponde a una versión más reciente de Tiny Tiny RSS."
 
 #~ msgid "Found schema version: <b>%d</b>, required: <b>%d</b>."
 #~ msgstr "Versión actual del esquema: <b>%d</b>, requerida: <b>%d</b>."
 
-#~ msgid ""
-#~ "Schema upgrade impossible. Please update Tiny Tiny RSS files to the newer "
-#~ "version and continue."
-#~ msgstr ""
-#~ "Imposible actualizar el esquema. Por favor, actualice Tiny Tiny RSS a la "
-#~ "última versión y continúe."
+#~ msgid "Schema upgrade impossible. Please update Tiny Tiny RSS files to the newer version and continue."
+#~ msgstr "Imposible actualizar el esquema. Por favor, actualice Tiny Tiny RSS a la última versión y continúe."
 
 #~ msgid "Mark feed as read"
 #~ msgstr "Marcar fuente como leída"
@@ -3664,12 +3640,8 @@ msgstr ""
 #~ msgid "Enable external API"
 #~ msgstr "Habilitar API externa"
 
-#~ msgid ""
-#~ "When this option is enabled, headlines in Special feeds and Labels are "
-#~ "grouped by feeds"
-#~ msgstr ""
-#~ "Cuando esta opción está habilitada, los titulares en fuentes especiales y "
-#~ "marcadores son agrupados por fuentes"
+#~ msgid "When this option is enabled, headlines in Special feeds and Labels are grouped by feeds"
+#~ msgstr "Cuando esta opción está habilitada, los titulares en fuentes especiales y marcadores son agrupados por fuentes"
 
 #~ msgid "Title or Content"
 #~ msgstr "Título o contenido"
@@ -3695,15 +3667,8 @@ msgstr ""
 #~ msgid "Modify score"
 #~ msgstr "Modificar puntuación"
 
-#~ msgid ""
-#~ "This option is useful when you are reading several planet-type "
-#~ "aggregators with partially colliding userbase. When disabled, it forces "
-#~ "same posts from different feeds to appear only once."
-#~ msgstr ""
-#~ "Esta opción es útil cuando está leyendo varios agregadores de tipo "
-#~ "\"planeta\" con bases de usuarios parcialmente coincidentes. Cuando está "
-#~ "desactivado, fuerza a que los mismos artículos que hayan sido publicados "
-#~ "por varias fuentes aparezcan una sola vez."
+#~ msgid "This option is useful when you are reading several planet-type aggregators with partially colliding userbase. When disabled, it forces same posts from different feeds to appear only once."
+#~ msgstr "Esta opción es útil cuando está leyendo varios agregadores de tipo \"planeta\" con bases de usuarios parcialmente coincidentes. Cuando está desactivado, fuerza a que los mismos artículos que hayan sido publicados por varias fuentes aparezcan una sola vez."
 
 #~ msgid "Date syntax appears to be correct:"
 #~ msgstr "Sintaxis de fecha parece correcta:"
@@ -3756,12 +3721,8 @@ msgstr ""
 #~ msgid "Back to feeds"
 #~ msgstr "Volver a la lista de fuentes"
 
-#~ msgid ""
-#~ "This will clear your stored authentication information for Twitter. "
-#~ "Continue?"
-#~ msgstr ""
-#~ "Esto borrará la su información de autenticación en Twitter almacenada. "
-#~ "¿Continuar?"
+#~ msgid "This will clear your stored authentication information for Twitter. Continue?"
+#~ msgstr "Esto borrará la su información de autenticación en Twitter almacenada. ¿Continuar?"
 
 #, fuzzy
 #~ msgid "Clearing credentials..."
@@ -3780,8 +3741,7 @@ msgstr ""
 #~ "Por favor, revise la configuración de su navegador."
 
 #~ msgid "Finished: %d articles processed, %d imported, %d feeds created."
-#~ msgstr ""
-#~ "Finalizado: %d artículos procesados, %d importados, %d fuentes creadas."
+#~ msgstr "Finalizado: %d artículos procesados, %d importados, %d fuentes creadas."
 
 #~ msgid "Related"
 #~ msgstr "Relacionado"
@@ -3858,12 +3818,8 @@ msgstr ""
 #~ msgid "Focus search (if present)"
 #~ msgstr "Búsqueda enfocada (si está presente)"
 
-#~ msgid ""
-#~ "<b>Note:</b> not all actions may be available, depending on Tiny Tiny RSS "
-#~ "configuration and your access level."
-#~ msgstr ""
-#~ "<strong>Nota:</strong> la disponibilidad de las acciones dependerá de la "
-#~ "configuración de Tiny Tiny RSS y de su nivel de acceso."
+#~ msgid "<b>Note:</b> not all actions may be available, depending on Tiny Tiny RSS configuration and your access level."
+#~ msgstr "<strong>Nota:</strong> la disponibilidad de las acciones dependerá de la configuración de Tiny Tiny RSS y de su nivel de acceso."
 
 #~ msgid "Fatal: authentication module %s not found."
 #~ msgstr "Error fatal: no se encuentra el módulo de autenticación %s."
@@ -3969,13 +3925,8 @@ msgstr ""
 #~ msgid "Feed Categories"
 #~ msgstr "Volver a categorizar"
 
-#~ msgid ""
-#~ "When \"Mark as read\" button is clicked in toolbar, automatically open "
-#~ "next feed with unread articles."
-#~ msgstr ""
-#~ "Cuando se pulse el botón \"Marcar como leído\" de la barra de "
-#~ "herramientas, abrir automáticamente la siguiente fuente que tenga "
-#~ "artículos sin leer."
+#~ msgid "When \"Mark as read\" button is clicked in toolbar, automatically open next feed with unread articles."
+#~ msgstr "Cuando se pulse el botón \"Marcar como leído\" de la barra de herramientas, abrir automáticamente la siguiente fuente que tenga artículos sin leer."
 
 #, fuzzy
 #~ msgid "Importing using DOMXML."
@@ -3985,11 +3936,8 @@ msgstr ""
 #~ msgid "Importing using DOMDocument."
 #~ msgstr "Importando OPML (usando la extensión DOMDocument)..."
 
-#~ msgid ""
-#~ "DOMXML extension is not found. It is required for PHP versions below 5."
-#~ msgstr ""
-#~ "No se ha encontrado la extensión DOMXML, la cual es necesaria para las "
-#~ "versiones de PHP inferiores a la 5."
+#~ msgid "DOMXML extension is not found. It is required for PHP versions below 5."
+#~ msgstr "No se ha encontrado la extensión DOMXML, la cual es necesaria para las versiones de PHP inferiores a la 5."
 
 #, fuzzy
 #~ msgid "Cache images locally (SimplePie only)"
@@ -4005,43 +3953,14 @@ msgstr ""
 #~ msgid "Content filtering"
 #~ msgstr "Filtrado de contenido"
 
-#~ msgid ""
-#~ "Tiny Tiny RSS has support for filtering (or processing) articles. "
-#~ "Filtering is done once, when new article is imported to the database from "
-#~ "the newsfeed, specified field is matched against regular expression and "
-#~ "some action is taken. Regular expression matching is case-insensitive."
-#~ msgstr ""
-#~ "Tiny tiny RSS soporta el filtrado (o procesamiento) de artículos. El "
-#~ "filtrado se realiza una vez, cuando el nuevo artículo se importa a la "
-#~ "base de datos desde la fuente de noticias: el campo especificado se "
-#~ "compara con alguna expresión regular y se realiza alguna acción. La "
-#~ "comparación de expresiones regulares es sensible a mayúsculas y "
-#~ "minúsculas."
+#~ msgid "Tiny Tiny RSS has support for filtering (or processing) articles. Filtering is done once, when new article is imported to the database from the newsfeed, specified field is matched against regular expression and some action is taken. Regular expression matching is case-insensitive."
+#~ msgstr "Tiny tiny RSS soporta el filtrado (o procesamiento) de artículos. El filtrado se realiza una vez, cuando el nuevo artículo se importa a la base de datos desde la fuente de noticias: el campo especificado se compara con alguna expresión regular y se realiza alguna acción. La comparación de expresiones regulares es sensible a mayúsculas y minúsculas."
 
-#~ msgid ""
-#~ "Supported actions are: filter (do not import) article, mark article as "
-#~ "read, set starred, assign tag(s), and set score. Filters can be defined "
-#~ "globally and for some specific feed."
-#~ msgstr ""
-#~ "Acciones soportadas: filtrar (no importar) el artículo, marcarlo como "
-#~ "leído, fijarlo como favorito, asignarle etiquetas y darle una puntuación. "
-#~ "Los filtros pueden ser definidos globalmente o para algunas fuentes "
-#~ "concretas."
+#~ msgid "Supported actions are: filter (do not import) article, mark article as read, set starred, assign tag(s), and set score. Filters can be defined globally and for some specific feed."
+#~ msgstr "Acciones soportadas: filtrar (no importar) el artículo, marcarlo como leído, fijarlo como favorito, asignarle etiquetas y darle una puntuación. Los filtros pueden ser definidos globalmente o para algunas fuentes concretas."
 
-#~ msgid ""
-#~ "Multiple and inverse matching are supported. All matching filters are "
-#~ "considered when article is being imported and all actions executed in "
-#~ "sequence. Inverse matching reverts matching result, e.g. filter matching "
-#~ "XYZZY in title with inverse flag will match all articles, except those "
-#~ "containing string XYZZY in title."
-#~ msgstr ""
-#~ "Se soportan las coincidencias múltiples e inversas. Todos los filtros de "
-#~ "coincidencia son tenidos en cuenta cuando el artículo está siendo "
-#~ "importado y todas las acciones se ejecutan en secuencia. Las "
-#~ "coincidencias inversas invierten los resultados. Por ejemplo, el filtro "
-#~ "de coincidencia XYZZY en el título con la marca inversa seleccionada, "
-#~ "hará que todos los artículos sean coincidentes salvo los que incluyan "
-#~ "XYZZY en el título."
+#~ msgid "Multiple and inverse matching are supported. All matching filters are considered when article is being imported and all actions executed in sequence. Inverse matching reverts matching result, e.g. filter matching XYZZY in title with inverse flag will match all articles, except those containing string XYZZY in title."
+#~ msgstr "Se soportan las coincidencias múltiples e inversas. Todos los filtros de coincidencia son tenidos en cuenta cuando el artículo está siendo importado y todas las acciones se ejecutan en secuencia. Las coincidencias inversas invierten los resultados. Por ejemplo, el filtro de coincidencia XYZZY en el título con la marca inversa seleccionada, hará que todos los artículos sean coincidentes salvo los que incluyan XYZZY en el título."
 
 #~ msgid "See also:"
 #~ msgstr "Ver también:"
@@ -4071,8 +3990,7 @@ msgstr ""
 #~ msgstr "Desplegar el artículo"
 
 #~ msgid "Update post on checksum change"
-#~ msgstr ""
-#~ "Actualizar el envío cuando cambie la suma de comprobación (\"checksum\")"
+#~ msgstr "Actualizar el envío cuando cambie la suma de comprobación (\"checksum\")"
 
 #~ msgid "Use more accessible date/time format for headlines"
 #~ msgstr "Usar el formato de fecha y hora más accesible para los titulares"
@@ -4096,12 +4014,8 @@ msgstr ""
 #~ msgid "Unknown error"
 #~ msgstr "Error desconocido"
 
-#~ msgid ""
-#~ "Could not display feed (query failed). Please check label match syntax or "
-#~ "local configuration."
-#~ msgstr ""
-#~ "No se puede mostrar la fuente (consulta fallida). Por favor, compruebe la "
-#~ "sintaxis de la coincidencia de etiqueta o la configuración local."
+#~ msgid "Could not display feed (query failed). Please check label match syntax or local configuration."
+#~ msgstr "No se puede mostrar la fuente (consulta fallida). Por favor, compruebe la sintaxis de la coincidencia de etiqueta o la configuración local."
 
 #~ msgid "Publish article with a note"
 #~ msgstr "Publicar el artículo con una nota"
@@ -4125,80 +4039,50 @@ msgstr ""
 #~ msgstr "Activar la lectura fuera de línea"
 
 #~ msgid "Synchronize new articles for offline reading using Google Gears."
-#~ msgstr ""
-#~ "Sincronizar los nuevos artículos para su lectura fuera de línea usando "
-#~ "\"Google Gears\"."
+#~ msgstr "Sincronizar los nuevos artículos para su lectura fuera de línea usando \"Google Gears\"."
 
 #~ msgid "Default article limit"
 #~ msgstr "Límite de artículos por defecto"
 
-#~ msgid ""
-#~ "Default limit for articles to display, any custom number you like (0 - "
-#~ "disables)."
-#~ msgstr ""
-#~ "Límite por defecto de los artículos a mostrar: cualquier número "
-#~ "personalizado que quieras (0 = desactivado)."
+#~ msgid "Default limit for articles to display, any custom number you like (0 - disables)."
+#~ msgstr "Límite por defecto de los artículos a mostrar: cualquier número personalizado que quieras (0 = desactivado)."
 
 #~ msgid "Enable search toolbar"
 #~ msgstr "Habilitar la barra de herramientas de búsqueda"
 
 #~ msgid "Open article links in new browser window"
-#~ msgstr ""
-#~ "Abrir los enlaces del artículo en una nueva pestaña o ventana del "
-#~ "navegador"
+#~ msgstr "Abrir los enlaces del artículo en una nueva pestaña o ventana del navegador"
 
-#~ msgid ""
-#~ "Link to user stylesheet to override default style, disabled if empty."
-#~ msgstr ""
-#~ "Enlace a la hoja de estilo del usuario, la cual sobreescribirá el estilo "
-#~ "por defecto (si se deja vació, la función estará desactivada)."
+#~ msgid "Link to user stylesheet to override default style, disabled if empty."
+#~ msgstr "Enlace a la hoja de estilo del usuario, la cual sobreescribirá el estilo por defecto (si se deja vació, la función estará desactivada)."
 
 #~ msgid "Hide feedlist"
 #~ msgstr "Ocultar la lista de fuentes"
 
-#~ msgid ""
-#~ "This option hides feedlist and allows it to be toggled on the fly, useful "
-#~ "for small screens."
-#~ msgstr ""
-#~ "Esta opción oculta la lista de fuentes y le permite ser cambiada al vuelo "
-#~ "(útil para pequeñas pantallas)."
+#~ msgid "This option hides feedlist and allows it to be toggled on the fly, useful for small screens."
+#~ msgstr "Esta opción oculta la lista de fuentes y le permite ser cambiada al vuelo (útil para pequeñas pantallas)."
 
-#~ msgid ""
-#~ "Experimental support for virtual feeds based on user crafted SQL queries. "
-#~ "This feature is highly experimental and at this point not user friendly. "
-#~ "Use with caution."
-#~ msgstr ""
-#~ "Soporte experimental para las fuentes virtuales basado en las consultas "
-#~ "SQL diseñadas por el usuario. Esta característica es experimental y nada "
-#~ "amigable para el usuario. Úsela con cautela."
+#~ msgid "Experimental support for virtual feeds based on user crafted SQL queries. This feature is highly experimental and at this point not user friendly. Use with caution."
+#~ msgstr "Soporte experimental para las fuentes virtuales basado en las consultas SQL diseñadas por el usuario. Esta característica es experimental y nada amigable para el usuario. Úsela con cautela."
 
 #~ msgid "Show additional information in feedlist"
 #~ msgstr "Mostrar información adicional en la lista de fuentes"
 
 #~ msgid "Prefer more accurate feedlist counters to UI speed"
-#~ msgstr ""
-#~ "Preferir el recuento más preciso de la lista de fuentes a la velocidad de "
-#~ "la interfaz de usuario"
+#~ msgstr "Preferir el recuento más preciso de la lista de fuentes a la velocidad de la interfaz de usuario"
 
 #~ msgid "Enable inline MP3 player"
 #~ msgstr "Habilitar el reproductor MP3 en línea"
 
-#~ msgid ""
-#~ "Enable the Flash-based XSPF Player to play MP3-format podcast enclosures."
-#~ msgstr ""
-#~ "Habilitar el reproductor XSPF basado en flash para reproducir los "
-#~ "ficheros de sonido MP3."
+#~ msgid "Enable the Flash-based XSPF Player to play MP3-format podcast enclosures."
+#~ msgstr "Habilitar el reproductor XSPF basado en flash para reproducir los ficheros de sonido MP3."
 
 #, fuzzy
 #~ msgid "Activate"
 #~ msgstr "Adaptable"
 
-#~ msgid ""
-#~ "You are running the latest version of Tiny Tiny RSS. The fact that you "
-#~ "are seeing this dialog is probably a bug."
-#~ msgstr ""
-#~ "Usted está ejecutando la última versión de Tiny Tiny RSS. El hecho de que "
-#~ "usted esté viendo este diálogo es probablemente un error."
+#~ msgid "You are running the latest version of Tiny Tiny RSS. The fact that you are seeing this dialog is probably a bug."
+#~ msgstr "Usted está ejecutando la última versión de Tiny Tiny RSS. El hecho de que usted esté viendo este diálogo es probablemente un error."
 
 #~ msgid "Feed Browser"
 #~ msgstr "Navegador de fuentes"
@@ -4243,8 +4127,7 @@ msgstr ""
 #~ msgstr "color personalizado:"
 
 #~ msgid "Can't add filter: nothing to match on."
-#~ msgstr ""
-#~ "No se puede añadir el filtro: no se ha indicado ninguna coincidencia."
+#~ msgstr "No se puede añadir el filtro: no se ha indicado ninguna coincidencia."
 
 #~ msgid "Can't subscribe: no feed URL given."
 #~ msgstr "Suscripción imposible: no se ha indicado la URL de la fuente."
@@ -4266,8 +4149,7 @@ msgstr ""
 #~ msgstr "¿Guardar la configuración actual?"
 
 #~ msgid "Please enter new label foreground color:"
-#~ msgstr ""
-#~ "Por favor, introduzca un nuevo color de primer plano para la etiqueta:"
+#~ msgstr "Por favor, introduzca un nuevo color de primer plano para la etiqueta:"
 
 #~ msgid "Please enter new label background color:"
 #~ msgstr "Por favor, introduzca un nuevo color de fondo para la etiqueta:"
@@ -4337,8 +4219,7 @@ msgstr ""
 #~ msgstr "Por favor, espere..."
 
 #~ msgid "Data for offline browsing has not been downloaded yet."
-#~ msgstr ""
-#~ "Los datos para la navegación sin conexión aún no han sido descargados."
+#~ msgstr "Los datos para la navegación sin conexión aún no han sido descargados."
 
 #~ msgid "Synchronizing feeds..."
 #~ msgstr "Sincronizando fuentes..."
@@ -4373,19 +4254,11 @@ msgstr ""
 #~ msgid "Last sync: Cancelled."
 #~ msgstr "Última sincronización: Cancelada."
 
-#~ msgid ""
-#~ "This will remove all offline data stored by Tiny Tiny RSS on this "
-#~ "computer. Continue?"
-#~ msgstr ""
-#~ "Esto eliminará todos los datos fuera de línea almacenados por Tiny Tiny "
-#~ "RSS en esta computadora. ¿Desea continuar?"
+#~ msgid "This will remove all offline data stored by Tiny Tiny RSS on this computer. Continue?"
+#~ msgstr "Esto eliminará todos los datos fuera de línea almacenados por Tiny Tiny RSS en esta computadora. ¿Desea continuar?"
 
-#~ msgid ""
-#~ "Tiny Tiny RSS has trouble accessing its server. Would you like to go "
-#~ "offline?"
-#~ msgstr ""
-#~ "Tiny Tiny RSS tiene problemas para acceder a su servidor. ¿Desea ponerlo "
-#~ "en modo fuera de línea?"
+#~ msgid "Tiny Tiny RSS has trouble accessing its server. Would you like to go offline?"
+#~ msgstr "Tiny Tiny RSS tiene problemas para acceder a su servidor. ¿Desea ponerlo en modo fuera de línea?"
 
 #~ msgid "Reset category order?"
 #~ msgstr "¿Reajustar el orden de la categoría?"
@@ -4469,9 +4342,7 @@ msgstr ""
 #~ msgstr "Eliminando los datos sin conexión..."
 
 #~ msgid "Rescore last 100 articles in selected feeds?"
-#~ msgstr ""
-#~ "¿Reiniciar la puntuación de los últimos 100 artículos de las fuentes "
-#~ "seleccionadas?"
+#~ msgstr "¿Reiniciar la puntuación de los últimos 100 artículos de las fuentes seleccionadas?"
 
 #~ msgid "Saving feeds..."
 #~ msgstr "Guardando fuentes..."
@@ -4485,18 +4356,11 @@ msgstr ""
 #~ msgid "Trying to change e-mail..."
 #~ msgstr "Intentando cambiar el correo electrónico..."
 
-#~ msgid ""
-#~ "You have to synchronize some articles before going into offline mode."
-#~ msgstr ""
-#~ "Tiene que sincronizar algunos artículos antes de ir al modo fuera de "
-#~ "línea."
+#~ msgid "You have to synchronize some articles before going into offline mode."
+#~ msgstr "Tiene que sincronizar algunos artículos antes de ir al modo fuera de línea."
 
-#~ msgid ""
-#~ "You won't be able to access offline version of Tiny Tiny RSS until you "
-#~ "switch it into offline mode again. Go online?"
-#~ msgstr ""
-#~ "No podrá acceder a la versión fuera de línea de Tiny Tiny RSS hasta que "
-#~ "lo haya puesto de nuevo en modo fuera de línea. ¿Ponerlo en línea?"
+#~ msgid "You won't be able to access offline version of Tiny Tiny RSS until you switch it into offline mode again. Go online?"
+#~ msgstr "No podrá acceder a la versión fuera de línea de Tiny Tiny RSS hasta que lo haya puesto de nuevo en modo fuera de línea. ¿Ponerlo en línea?"
 
 #~ msgid "Can't open article: received invalid XML"
 #~ msgstr "No se puede abrir el artículo: el XML recibido no es válido."
index 34ccc85fdd1c1354ec7a0e0744df461dcddd54d3..98522c6abd30cf32d012590297d46a848e07c0e9 100644 (file)
Binary files a/locale/fi_FI/LC_MESSAGES/messages.mo and b/locale/fi_FI/LC_MESSAGES/messages.mo differ
index 3c998af77408e4002d92388c80f290addfdee9dc..24dc2227f87e10760e4f2ebeabedc17033ecd732 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tt-rss 1.7.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: 2013-04-20 10:44+0200\n"
 "Last-Translator: Arto Tolonen <arto.tolonen@iki.fi>\n"
 "Language-Team: \n"
@@ -90,8 +90,8 @@ msgid "Weekly"
 msgstr "Viikoittain"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Käyttäjä"
 
@@ -154,14 +154,13 @@ msgstr ""
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -176,14 +175,14 @@ msgstr ""
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -206,13 +205,13 @@ msgid "All Articles"
 msgstr "Kaikki artikkelit"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "Tähdelliset"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "Julkiset"
@@ -257,12 +256,11 @@ msgstr "Otsikko"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Merkitse luetuiksi"
 
@@ -303,7 +301,7 @@ msgid "Feed actions:"
 msgstr "Syötetoiminnot:"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Tilaa syöte..."
 
@@ -316,8 +314,8 @@ msgid "Rescore feed"
 msgstr "Uudelleenpisteytä syöte"
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Peru tilaus"
@@ -335,7 +333,7 @@ msgid "Other actions:"
 msgstr "Muut toiminnot:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 msgid "Toggle widescreen mode"
 msgstr "Vaihda näkymä"
 
@@ -356,52 +354,48 @@ msgid "Keyboard shortcuts help"
 msgstr "Näytä pikanäppäimet"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Kirjaudu ulos"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Asetukset"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Pikanäppäimet"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Poistu asetuksista"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Syötteet"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Suodattimet"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "Tunnisteet"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Käyttäjät"
 
-#: prefs.php:132
+#: prefs.php:131
 #, fuzzy
 msgid "System"
 msgstr "Järjestelmän lisäosat"
@@ -423,13 +417,13 @@ msgstr ""
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Takaisin Tiny Tiny RSS:ään"
 
@@ -446,12 +440,12 @@ msgid "Check availability"
 msgstr ""
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "Sähköposti:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "Paljonko on kaksi plus kaksi:"
 
@@ -485,11 +479,11 @@ msgstr ""
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr ""
 
@@ -505,302 +499,301 @@ msgid "No feeds found."
 msgstr "Syötteitä ei löytynyt."
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Erikoiset"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Kaikki syötteet"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Tähdelliset artikkelit"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Julkiset artikkelit"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Tuoreet artikkelit"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Kaikki artikkelit"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "Arkistoidut artikkelit"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr "Viimeksi luetut"
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Valikko"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 msgid "Open next feed"
 msgstr "Avaa seuraava syöte"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr "Avaa edellinen syöte"
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 msgid "Open next article"
 msgstr "Avaa seuraava artikkeli"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 msgid "Open previous article"
 msgstr "Avaa edellinen artikkeli"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr "Avaa seuraava artikkeli (älä vieritä pitkiä artikkeleita)"
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr "Avaa edellinen artikkeli (älä vieritä pitkiä artikkeleita)"
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr "Siirry seuraavaan artikkeliin (älä laajenna tai merkitse luetuksi)"
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr "Siirry edelliseen artikkeliin (älä laajenna tai merkitse luetuksi)"
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Etsi..."
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 msgid "Article"
 msgstr "Artikkeli"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Lisää/Poista tähti"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Vaihda julkinen-tilaa"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Vaihda luettu/lukematon"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Muokkaa avainsanoja"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 msgid "Dismiss selected"
 msgstr "Piilota valittu"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 msgid "Dismiss read"
 msgstr "Piilota luettu"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 msgid "Open in new window"
 msgstr "Avaa uudessa ikkunassa"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr "Merkitse alla olevat luetuiksi"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr "Merkitse yllä olevat luetuiksi"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 msgid "Scroll down"
 msgstr "Vieritä alas"
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr "Vieritä ylös"
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 msgid "Select article under cursor"
 msgstr "Valitse osoittimen kohdalla oleva artikkeli"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr "Lähetä artikkeli sähköpostilla"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 msgid "Close/collapse article"
 msgstr "Piilota/näytä artikkeli"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 #, fuzzy
 msgid "Toggle article expansion (combined mode)"
 msgstr "Vaihda automaattilaajennuksen tila (yhdistelmänäkymässä)"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 msgid "Toggle embed original"
 msgstr "Vaihda alkuperäinen liitetty"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 msgid "Article selection"
 msgstr "Artikkelin valinta"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr "Valitse kaikki artikkelit"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 msgid "Select unread"
 msgstr "Valitse lukemattomat"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 msgid "Select starred"
 msgstr "Valitse tähdellä merkityt"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 msgid "Select published"
 msgstr "Valitse julkaistu"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 msgid "Invert selection"
 msgstr "Vaihda valittujen tila"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 msgid "Deselect everything"
 msgstr "Poista valinnat"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Syöte"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 msgid "Refresh current feed"
 msgstr "Päivitä tämänhetkinen syöte"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 msgid "Un/hide read feeds"
 msgstr "Piilota/näytä luetut syötteet"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Tilaa syöte"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Muokkaa syötettä"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 msgid "Reverse headlines"
 msgstr "Otsikot käänteisjärjestyksessä"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 msgid "Debug feed update"
 msgstr "Syötepäivityksen vianetsintä"
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Merkitse kaikki syötteet luetuiksi"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 msgid "Un/collapse current category"
 msgstr "Piilota/näytä tämänhetkinen kansio"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 msgid "Toggle combined mode"
 msgstr "Vaihda yhdistelmänäkymän tila"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 msgid "Toggle auto expand in combined mode"
 msgstr "Vaihda automaattilaajennuksen tila yhdistelmänäkymässä"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 msgid "Go to"
 msgstr "Mene"
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr "Päivitä"
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Avainsanapilvi"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 msgid "Other"
 msgstr "Muu"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Luo tunniste"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Luo suodatin"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 msgid "Un/collapse sidebar"
 msgstr "Piilota/näytä sivupalkki"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 msgid "Show help dialog"
 msgstr "Näytä ohjeikkuna"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr "Hakutulokset: %s"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "ei avainsanoja"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Muokkaa tämän artikkelin avainsanoja"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 msgid "Originally from:"
 msgstr ""
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr "Syötteen osoite"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -810,46 +803,44 @@ msgstr "Syötteen osoite"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Sulje"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr ""
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "tuntematon tyyppi"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 msgid "Attachments"
 msgstr "Litteet"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr ""
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Käyttäjätunnus:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "Salasana:"
 
@@ -864,7 +855,7 @@ msgstr "Profiili:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "Oletusprofiili"
 
@@ -882,7 +873,6 @@ msgstr "Muista kirjautumiseni"
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "Kirjaudu sisään"
 
@@ -899,12 +889,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "Tämän syötteen avainsanat (pilkulla erotettuina)"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -914,19 +904,19 @@ msgstr "Tallenna"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -935,7 +925,7 @@ msgid "Cancel"
 msgstr "Peru"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 msgid "Share with Tiny Tiny RSS"
 msgstr "Jaa Tiny Tiny RSS:llä"
 
@@ -944,8 +934,8 @@ msgid "Title:"
 msgstr "Otsikko:"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -971,92 +961,91 @@ msgstr "Jaa"
 msgid "Not logged in"
 msgstr "Et ole kirjautunut"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Väärä käyttäjätunnus tai salasana"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Olet jo tilannut syötteen <b>%s</b>."
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Tilattu syöte <b>%s</b>."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Tätä syötettä ei voitu tilata <b>%s</b>."
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "<b>%s</b> ei sisällä syötteitä."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 msgid "Multiple feed URLs found."
 msgstr "Useita syöteosoitteita löytyi."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "Syötettä <b>%s</b> ei voitu tilata.<br>Osoitetta ei voi ladata."
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr "Tilaa valittu syöte"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Muokkaa syötteen asetuksia"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 msgid "Password recovery"
 msgstr "Salasanan palautus"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
 msgstr "Syötä tilisi sähköpostiosoite. Uusi salasana lähetetään sinulle sähköpostilla."
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Palauta salasana"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr "Jotkin vaadituista parametreistä puuttuvat tai ovat väärin."
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 msgid "Go back"
 msgstr "Takaisin"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr "Tätä käyttäjätunnus-sähköposti -yhdistelmää ei valitettavasti löydy."
 
 # Better this way...
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "Käyttäjäoikeutesi eivät riitä päivitysscriptin suorittamiseen."
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr ""
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr ""
 
@@ -1144,7 +1133,7 @@ msgstr "Näytä RSS-syötteenä"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "Näytä RSS-syötteenä"
 
@@ -1153,17 +1142,17 @@ msgid "Select:"
 msgstr "Valitse:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "Kaikki"
@@ -1173,17 +1162,17 @@ msgid "Invert"
 msgstr "Käännä"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "Ei mikään"
@@ -1213,10 +1202,10 @@ msgid "Move back"
 msgstr "Siirrä takaisin"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "Poista"
 
@@ -1232,7 +1221,7 @@ msgid "Feed:"
 msgstr "Syöte:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Syötettä ei löydy"
 
@@ -1246,143 +1235,143 @@ msgstr "Älä poista koskaan"
 msgid "Imported at %s"
 msgstr "Tuotu %s"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "merkitse luetuksi"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 msgid "Collapse article"
 msgstr "Sulje artikkeli"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "Lukemattomia artikkeleita ei ole näytettäväksi"
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "Päivitettyjä artikkeleita ei ole näytettäväksi"
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "Tähdellä merkittyjä artikkeleita ei ole näytettäväksi"
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 #, fuzzy
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
 msgstr "Ei näytettäviä artikkeleita. Voit merkitä artikkeleita tunnisteilla käsin (Toiminnot-valikko yläreunassa) tai käytää suodattimia."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "Ei näytettäviä artikkeleita."
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "Syötteet päivitetty viimeksi %s"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "Osassa syötteistä oli päivitysongelmia (napsauta nähdäksesi lisätietoja)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Yhtään syötettä ei ole valittuna"
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 msgid "Feed or site URL"
 msgstr "Syötteen/sivuston osoite"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Siirrä kansioon:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "Saatavilla olevat syötteet"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Tunnistautuminen"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Käyttäjätunnus"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "Salasana"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Tämä syöte vaatii kirjautumisen"
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Tilaa"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "Lisää syötteitä"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Etsi"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr "Suositut syötteet"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr "Syötearkisto"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
 msgstr "raja:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Poista"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "Etsi"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Haun rajaus:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Tämä syöte"
 
@@ -1454,21 +1443,21 @@ msgid "Processing category: %s"
 msgstr ""
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr ""
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 #, fuzzy
 msgid "Unable to move uploaded file."
 msgstr "Ladatun tiedoston siirtäminen epäonnistui."
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr ""
@@ -1494,7 +1483,7 @@ msgid "User not found"
 msgstr "Käyttäjätunnusta ei löydy"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Rekisteröity"
 
@@ -1510,106 +1499,106 @@ msgstr "Tilattujen syötteiden määrä"
 msgid "Subscribed feeds"
 msgstr "Tilatut syötteet"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Käyttäjäoikeudet:"
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Uusi salasana"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Valinnat"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "Sähköposti: "
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr ""
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "Käyttäjää <b>%s</b> ei voitu luoda"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "Käyttäjätunnus <b>%s</b> on jo olemassa."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr ""
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 msgid "Select"
 msgstr "Valitse"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Luo käyttäjätunnus"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "Tarkemmat tiedot"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Muokkaa"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Käyttäjäoikeudet"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Viimeisin kirjautuminen"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Napsauta muokataksesi"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "Käyttäjätunnuksia ei määritelty."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "Hakua vastaavia käyttäjätunnuksia ei löytynyt"
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Nimi"
 
@@ -1634,125 +1623,124 @@ msgstr "Luotiin tunniste <b>%s</b>"
 msgid "Clear colors"
 msgstr "Poista värit"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr "Suodatinta vastaavat artikkelit:"
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 msgid "No recent articles matching this filter have been found."
 msgstr "Suodatinta vastaavia artikkeleita ei löytynyt. "
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr ""
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Täsmäys"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr "Lisää"
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 msgid "Apply actions"
 msgstr "Suorita toiminnot"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Aktivoitu"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr "Täsmää ainakin yhteen säännöistä"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 msgid "Inverse matching"
 msgstr "Käänteinen täsmäys"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Kokeilu"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 msgid "(inverse)"
 msgstr "(käänteinen)"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr ""
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr "Yhdistä"
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "Järjestä oletuksen mukaisesti"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Uudelleenpisteytä artikkelit"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Luo"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr "Käänteinen täsmäys säännöllisellä lausekkeella"
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "kentässä"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr "kansiossa"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 msgid "Save rule"
 msgstr "Tallenna sääntö"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 msgid "Add rule"
 msgstr "Lisää sääntö"
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Suorita toiminto"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "parametrit:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 msgid "Save action"
 msgstr "Tallenna toiminto"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 msgid "Add action"
 msgstr "Lisää toiminto"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 #, fuzzy
 msgid "[No caption]"
 msgstr "Nimi"
@@ -1895,7 +1883,6 @@ msgid "Purge unread articles"
 msgstr "Siivoa lukemattomat artikkelit"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "Käänteinen otsikkojärjestys (vanhimmat ensin)"
 
@@ -1936,7 +1923,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr "Karsi erikoiset HTML-koodit artikkeleita luettaessa."
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "Muokkaa CSS-tyylitiedostoa"
 
@@ -2126,89 +2113,88 @@ msgid "Reset to defaults"
 msgstr "Palauta oletusarvot"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr "Lisäosat"
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr "Päivitä sivu aktivoidaksesi lisäosiin tehdyt muutokset."
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 msgstr ""
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr "Järjestelmän lisäosat"
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr "Lisäosa"
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 msgid "Description"
 msgstr "Kuvaus"
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr "Versio"
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr "Tekijä"
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr "lisätietoja"
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 msgid "Clear data"
 msgstr "Tyhjennä tiedot"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr "Käyttäjän lisäosat"
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 msgid "Enable selected plugins"
 msgstr "Aktivoi valitut lisäosat"
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 #, fuzzy
 msgid "Incorrect one time password"
 msgstr "Väärä salasana"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 msgid "Incorrect password"
 msgstr "Väärä salasana"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr "Kirjoita tähän ne CSS-määrittelyt, jotka korvaavat tämänhetkisen teemasi värejä, fontteja ja sijoittelua. Voit käyttää pohjana <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">tätä tiedostoa.</a>"
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "Luo profiili"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(aktiivinen)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "Poista valitut profiilit"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "Aktivoi profiili"
 
@@ -2216,275 +2202,252 @@ msgstr "Aktivoi profiili"
 msgid "Check to enable field"
 msgstr "Valitse aktivoidaksesi kenttä"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "Syötteen otsikko"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Päivitä"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Artikkeleiden siivous"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "Piilota suosituista syötteistä"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "Sisällytä sähköpostitiivistelmään"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Näytä aina kuvat"
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr "Älä näytä kuvia"
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Tallenna kuvat välimuistiin"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "Merkitse päivitetyt artikkelit lukemattomiksi"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr "Suosikkikuvake"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "Vaihda"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr ""
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Valmis."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "Virheelliset syötteet"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 msgid "Inactive feeds"
 msgstr "Passiiviset syötteet"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "Muokkaa valittuja syötteitä"
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr "Tilaa useita"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 msgid "Categories"
 msgstr "Kansiot"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 msgid "Add category"
 msgstr "Lisää kansio"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 msgid "Remove selected"
 msgstr "Poista valittu"
 
-#: classes/pref/feeds.php:1361
-msgid "(Un)hide empty categories"
-msgstr "Piilota/näytä tyhjät kansiot"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "Lisää toimintoja..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr ""
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Tyhjennnä syötetiedot"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr ""
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr ""
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 msgid "Import my OPML"
 msgstr ""
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr "Tiedosto:"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
 msgstr ""
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 msgid "Export OPML"
 msgstr ""
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr ""
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr ""
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr ""
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr ""
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 msgid "Published & shared articles / Generated feeds"
 msgstr "Julkaistut ja jaetut artikkelit / Luodut syötteet"
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr "Julkaistut artikkelit ja luodut syötteet"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr "Julkistetut artikkelit näkyvät julkisena RSS-syötteenä ja niitä voi lukea ja tilata jokainen, joka tietää alla annetun osoitteen"
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr "Näytä osoite"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr "Poista kaikki luodut osoitteet"
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr "Osoitteen kautta jaetut artikkelit"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr "Tässä voit perua kaikki osoitteen kautta jaettujen artikkeleiden julkistukset."
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 msgid "Unshare all articles"
 msgstr "Poista kaikkien artikkeleiden jako"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "Näihin syötteisiin ei ole tullut uusia artikkeleita 3 kuukauteen (vanhimmat ensin):"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "Napsauta muokataksesi syötettä"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "Lopeta valittujen syötteiden tilaukset"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Näitä syötteitä ei ole päivitetty virheiden vuoksi:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr "Lisää RSS-syötteitä riveittäin (syötteitä ei yritetä tunnistaa)"
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr "Tilattavat syötteet, yksi syöte riviä kohden"
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr "Syötteet vaativat kirjautumisen."
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr ""
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 msgid "Refresh"
 msgstr "Päivitä"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "Poista värit"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr ""
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 #, fuzzy
 msgid "Filename"
 msgstr "Tiedosto:"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr ""
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr ""
 
-#: plugins/digest/digest_body.php:57
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr ""
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Hei,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr "Tavallinen versio"
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr "Sulje artikkeli"
@@ -2518,62 +2481,6 @@ msgstr ""
 msgid "Old password is incorrect."
 msgstr ""
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr ""
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr ""
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr ""
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr "Käytä kansioita"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr ""
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr ""
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr ""
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr ""
-
-#: plugins/mobile/prefs.php:46
-msgid "Hide read articles and feeds"
-msgstr ""
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr ""
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2615,11 +2522,11 @@ msgstr ""
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr ""
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr ""
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr ""
 
@@ -2628,11 +2535,7 @@ msgid "Import and export"
 msgstr "Tuonti ja vienti"
 
 #: plugins/import_export/init.php:60
-msgid "Article archive"
-msgstr "Artikkeliarkisto"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
 msgstr ""
 
 #: plugins/import_export/init.php:65
@@ -2643,48 +2546,48 @@ msgstr "Vie tietoni"
 msgid "Import"
 msgstr "Tuo"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr ""
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr ""
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr "Valmis: "
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] ""
 msgstr[1] ""
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] ""
 msgstr[1] ""
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] ""
 msgstr[1] ""
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr ""
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr ""
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
 msgstr ""
@@ -2710,18 +2613,6 @@ msgstr "Lähetä sähköposti"
 msgid "Edit article note"
 msgstr ""
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr ""
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr ""
-
-#: plugins/example/init.php:73
-msgid "Set value"
-msgstr ""
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -2845,21 +2736,20 @@ msgstr ""
 msgid "Start update"
 msgstr "Aloita päivitys"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Merkitäänkö kaikki artikkelit syötteessä %s luetuiksi?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "Merkitäänkö kaikki päivää vanhemmat artikkelit syötteessä %s luetuiksi?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "Merkitäänkö kaikki viikkoa vanhemmat artikkelit syötteessä %s luetuiksi?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "Merkitäänkö kaikki kahta viikkoa vanhemmat artikkelit syötteessä %s luetuiksi?"
 
@@ -2970,7 +2860,7 @@ msgid "Subscription reset."
 msgstr ""
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "Perutaanko syötteen %s tilaus?"
 
@@ -2992,8 +2882,8 @@ msgid "Trying to change address..."
 msgstr "Vaihdetaan osoitetta..."
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "Et voi muokata tämäntyyppistä syötettä."
 
@@ -3330,228 +3220,196 @@ msgstr "Kaikki jaettujen artikkeleiden osoitteet poistetaan. Jatketaanko?"
 msgid "Shared URLs cleared."
 msgstr "Jaetut osoitteet poistettiin."
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Tunnisteiden muokkaus"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr "Tilataan syötteet..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr "Poistetaanko kaikki tämän lisäosan tallentamat tiedot?"
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Merkitäänkö kaikki artikkelit luetuksi?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr "Merkitään kaikki syötteet luetuiksi..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 msgid "Please enable mail plugin first."
 msgstr "Aktivoi ensin email-lisäosa."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 msgid "Please enable embed_original plugin first."
 msgstr ""
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr "Valitse avainsanojen perusteella"
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "Et voi perua tämän kansion tilausta."
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Valitse syötteet ensin."
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr ""
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Uudelleenpisteytä artikkelit kansiossa %s?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
 msgstr "Uudelleenpisteytetään artikkelit..."
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr "Uusi versio saatavilla!"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 msgid "Cancel search"
 msgstr "Peru haku"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Poista tähti artikkelista"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Merkitse artikkeli tähdellä"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Aseta artikkeli yksityiseksi"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Julkista artikkeli"
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 #, fuzzy
 msgid "%d article selected"
 msgid_plural "%d articles selected"
 msgstr[0] "Yhtään artikkelia ei ole valittuna."
 msgstr[1] "Yhtään artikkelia ei ole valittuna."
 
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "Yhtään artikkelia ei ole valittuna."
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] ""
 msgstr[1] ""
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] ""
 msgstr[1] ""
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "Arkistoi %d valittu artikkeli syötteestä %s?"
 msgstr[1] "Arkistoi %d valittua artikkelia syötteestä %s?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "Siirretäänkö %d arkistoitu artikkeli takaisin?"
 msgstr[1] "Siirretäänkö %d arkistoitua artikkelia takaisin?"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
 msgstr ""
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "Merkitäänkö %d valittu artikkeli syötteessä %s luetuksi?"
 msgstr[1] "Merkitäänkö %d valittua artikkelia syötteessä %s luetuiksi?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr "Muokkaa artikkelin avainsanoja"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
 msgstr "Tallennetaan artikkelin avainsanat..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "Yhtään artikkelia ei ole valittuna."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "Artikkeleita ei ole merkittäväksi"
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "Merkitäänkö %d artikkeli luetuksi?"
 msgstr[1] "Merkitäänkö %d artikkelia luetuiksi?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "Avaa alkuperäinen artikkeli"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 msgid "Display article URL"
 msgstr "Näytä artikkelin osoite"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 msgid "Toggle marked"
 msgstr "Käännä valitun merkintä"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Liitä tunniste"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "Poista tunniste"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 msgid "Please enter new score for selected articles:"
 msgstr "Anna uusi pistemäärä valituille artikkeleille:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 msgid "Please enter new score for this article:"
 msgstr "Anna uusi pistemäärä tälle artikkelille:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 msgid "Article URL:"
 msgstr "Artikkelin osoite:"
 
-#: plugins/digest/digest.js:72
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "Merkitäänkö %d näytetty artikkeli luetuksi?"
-msgstr[1] "Merkitäänkö %d näytettyä artikkelia luetuiksi?"
-
-#: plugins/digest/digest.js:290
-msgid "Error: unable to load article."
-msgstr "Virhe: artikkelia ei voida ladata."
-
-#: plugins/digest/digest.js:464
-msgid "Click to expand article."
-msgstr "Napsauta nähdäksesi koko artikkelin."
-
-#: plugins/digest/digest.js:535
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "%d lisää..."
-msgstr[1] "%d lisää..."
-
-#: plugins/digest/digest.js:542
-msgid "No unread feeds."
-msgstr "Ei lukemattomia syötteitä."
-
-#: plugins/digest/digest.js:649
-msgid "Load more..."
-msgstr "Lataa lisää..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr ""
@@ -3624,6 +3482,52 @@ msgstr ""
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
 msgstr ""
 
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Piilota/näytä tyhjät kansiot"
+
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Julkaistut artikkelit ja luodut syötteet"
+
+#~ msgid "Articles shared by URL"
+#~ msgstr "Osoitteen kautta jaetut artikkelit"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Näitä syötteitä ei ole päivitetty virheiden vuoksi:"
+
+#~ msgid "Hello,"
+#~ msgstr "Hei,"
+
+#~ msgid "Regular version"
+#~ msgstr "Tavallinen versio"
+
+#~ msgid "Enable categories"
+#~ msgstr "Käytä kansioita"
+
+#~ msgid "Article archive"
+#~ msgstr "Artikkeliarkisto"
+
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "Merkitäänkö %d näytetty artikkeli luetuksi?"
+#~ msgstr[1] "Merkitäänkö %d näytettyä artikkelia luetuiksi?"
+
+#~ msgid "Error: unable to load article."
+#~ msgstr "Virhe: artikkelia ei voida ladata."
+
+#~ msgid "Click to expand article."
+#~ msgstr "Napsauta nähdäksesi koko artikkelin."
+
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "%d lisää..."
+#~ msgstr[1] "%d lisää..."
+
+#~ msgid "No unread feeds."
+#~ msgstr "Ei lukemattomia syötteitä."
+
+#~ msgid "Load more..."
+#~ msgstr "Lataa lisää..."
+
 #~ msgid "Switch to digest..."
 #~ msgstr "Vaihda tiivistelmään..."
 
index 6d1211c1df3d7d20b8bc609e1f4c47322751d273..3cb27eba0fa781c1d04a8e3769a37e46910ec488 100644 (file)
Binary files a/locale/fr_FR/LC_MESSAGES/messages.mo and b/locale/fr_FR/LC_MESSAGES/messages.mo differ
index 87e180416d640b34a70c3c753239d9400a7574f9..27610fdcd413ec99bb2b4cbc072130aa929b73c0 100644 (file)
@@ -11,8 +11,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Tiny Tiny RSS\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
-"PO-Revision-Date: 2013-04-03 08:43+0100\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
+"PO-Revision-Date: 2013-05-24 09:49+0100\n"
 "Last-Translator: Raphael Rochet <raphael@rri.fr>\n"
 "Language-Team: French\n"
 "Language: fr_FR\n"
@@ -20,7 +20,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.5.5\n"
 
 #: backend.php:73
 msgid "Use default"
@@ -54,49 +54,39 @@ msgstr "Au bout de 3 mois"
 msgid "Default interval"
 msgstr "Fréquence de mise à jour par défaut"
 
-#: backend.php:83
-#: backend.php:93
+#: backend.php:83 backend.php:93
 msgid "Disable updates"
 msgstr "Désactiver les mises à jour"
 
-#: backend.php:84
-#: backend.php:94
+#: backend.php:84 backend.php:94
 msgid "Each 15 minutes"
 msgstr "Toutes les 15 minutes"
 
-#: backend.php:85
-#: backend.php:95
+#: backend.php:85 backend.php:95
 msgid "Each 30 minutes"
 msgstr "Toutes les 30 minutes"
 
-#: backend.php:86
-#: backend.php:96
+#: backend.php:86 backend.php:96
 msgid "Hourly"
 msgstr "Toutes les heures"
 
-#: backend.php:87
-#: backend.php:97
+#: backend.php:87 backend.php:97
 msgid "Each 4 hours"
 msgstr "Toutes les 4 heures"
 
-#: backend.php:88
-#: backend.php:98
+#: backend.php:88 backend.php:98
 msgid "Each 12 hours"
 msgstr "Toutes les 12 heures"
 
-#: backend.php:89
-#: backend.php:99
+#: backend.php:89 backend.php:99
 msgid "Daily"
 msgstr "Une fois par jour"
 
-#: backend.php:90
-#: backend.php:100
+#: backend.php:90 backend.php:100
 msgid "Weekly"
 msgstr "Une fois par semaine"
 
-#: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: backend.php:103 classes/pref/users.php:119 classes/pref/system.php:51
 msgid "User"
 msgstr "Utilisateur"
 
@@ -109,12 +99,22 @@ msgid "Administrator"
 msgstr "Administrateur"
 
 #: errors.php:9
-msgid "This program requires XmlHttpRequest to function properly. Your browser doesn't seem to support it."
-msgstr "Ce programme nécessite l'utilisation de XmlHttpRequest pour fonctionner correctement. Votre navigateur web semble ne pas intégrer cette fonctionnalité."
+msgid ""
+"This program requires XmlHttpRequest to function properly. Your browser "
+"doesn't seem to support it."
+msgstr ""
+"Ce programme nécessite l'utilisation de XmlHttpRequest pour fonctionner "
+"correctement. Votre navigateur web semble ne pas intégrer cette "
+"fonctionnalité."
 
 #: errors.php:12
-msgid "This program requires cookies to function properly. Your browser doesn't seem to support them."
-msgstr "Ce programme nécessite l'utilisation de cookies pour fonctionner correctement. Votre navigateur web semble ne pas intégrer cette fonctionnalité."
+msgid ""
+"This program requires cookies to function properly. Your browser doesn't "
+"seem to support them."
+msgstr ""
+"Ce programme nécessite l'utilisation de cookies pour fonctionner "
+"correctement. Votre navigateur web semble ne pas intégrer cette "
+"fonctionnalité."
 
 #: errors.php:15
 msgid "Backend sanity check failed."
@@ -125,8 +125,12 @@ msgid "Frontend sanity check failed."
 msgstr "Le test de l'interface a échoué."
 
 #: errors.php:19
-msgid "Incorrect database schema version. &lt;a href='db-updater.php'&gt;Please update&lt;/a&gt;."
-msgstr "Version non valable pour le schéma de la base de données. &lt;a href='db-updater.php'&gt;Veuillez le mettre à jour&lt;/a&gt;."
+msgid ""
+"Incorrect database schema version. &lt;a href='db-updater.php'&gt;Please "
+"update&lt;/a&gt;."
+msgstr ""
+"Version non valable pour le schéma de la base de données. &lt;a href='db-"
+"updater.php'&gt;Veuillez le mettre à jour&lt;/a&gt;."
 
 #: errors.php:21
 msgid "Request not authorized."
@@ -137,59 +141,47 @@ msgid "No operation to perform."
 msgstr "Aucune opération à effectuer."
 
 #: errors.php:25
-msgid "Could not display feed: query failed. Please check label match syntax or local configuration."
-msgstr "Impossible d'afficher le flux : la requête n'a pas abouti. Veuillez vérifier la syntaxe de correspondance d'étiquette ou la configuration locale."
+msgid ""
+"Could not display feed: query failed. Please check label match syntax or "
+"local configuration."
+msgstr ""
+"Impossible d'afficher le flux : la requête n'a pas abouti. Veuillez vérifier "
+"la syntaxe de correspondance d'étiquette ou la configuration locale."
 
 #: errors.php:27
 msgid "Denied. Your access level is insufficient to access this page."
-msgstr "Accès refusé. Vous n'avez pas les permissions nécessaires pour accéder à cette page."
+msgstr ""
+"Accès refusé. Vous n'avez pas les permissions nécessaires pour accéder à "
+"cette page."
 
 #: errors.php:29
 msgid "Configuration check failed"
 msgstr "Échec du test de configuration"
 
 #: errors.php:31
-msgid "Your version of MySQL is not currently supported. Please see official site for more information."
-msgstr "Votre version de MySQL n'est pas supportée actuellement. Veuillez consulter le site officiel pour plus d'informations."
+msgid ""
+"Your version of MySQL is not currently supported. Please see official site "
+"for more information."
+msgstr ""
+"Votre version de MySQL n'est pas supportée actuellement. Veuillez consulter "
+"le site officiel pour plus d'informations."
 
 #: errors.php:35
 msgid "SQL escaping test failed, check your database and PHP configuration"
-msgstr "Le test d'échappement SQL a échoué, veuillez vérifier votre configuration de base de données et de PHP"
-
-#: index.php:128
-#: index.php:145
-#: index.php:265
-#: prefs.php:98
-#: classes/backend.php:5
-#: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
-#: js/feedlist.js:128
-#: js/feedlist.js:439
-#: js/functions.js:446
-#: js/functions.js:784
-#: js/functions.js:1194
-#: js/functions.js:1330
-#: js/functions.js:1642
-#: js/prefs.js:86
-#: js/prefs.js:576
-#: js/prefs.js:666
-#: js/prefs.js:867
-#: js/prefs.js:1454
-#: js/prefs.js:1507
-#: js/prefs.js:1566
-#: js/prefs.js:1583
-#: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
-#: plugins/import_export/import_export.js:17
+msgstr ""
+"Le test d'échappement SQL a échoué, veuillez vérifier votre configuration de "
+"base de données et de PHP"
+
+#: index.php:128 index.php:145 index.php:265 prefs.php:97
+#: classes/backend.php:5 classes/pref/labels.php:296
+#: classes/pref/filters.php:678 classes/pref/feeds.php:1372 js/feedlist.js:128
+#: js/feedlist.js:441 js/functions.js:446 js/functions.js:784
+#: js/functions.js:1194 js/functions.js:1330 js/functions.js:1642
+#: js/prefs.js:86 js/prefs.js:576 js/prefs.js:666 js/prefs.js:867
+#: js/prefs.js:1454 js/prefs.js:1507 js/prefs.js:1566 js/prefs.js:1583
+#: js/prefs.js:1599 js/prefs.js:1619 js/prefs.js:1792 js/prefs.js:1808
+#: js/prefs.js:1826 js/tt-rss.js:507 js/tt-rss.js:524 js/viewfeed.js:821
+#: js/viewfeed.js:1250 plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
 msgstr "Chargement en cours, veuillez patienter..."
@@ -210,21 +202,15 @@ msgstr "Adaptatif"
 msgid "All Articles"
 msgstr "Tous les articles"
 
-#: index.php:167
-#: include/functions.php:2007
-#: classes/feeds.php:98
+#: index.php:167 include/functions.php:2008 classes/feeds.php:98
 msgid "Starred"
 msgstr "Remarquables"
 
-#: index.php:168
-#: include/functions.php:2008
-#: classes/feeds.php:99
+#: index.php:168 include/functions.php:2009 classes/feeds.php:99
 msgid "Published"
 msgstr "Publiés"
 
-#: index.php:169
-#: classes/feeds.php:85
-#: classes/feeds.php:97
+#: index.php:169 classes/feeds.php:85 classes/feeds.php:97
 msgid "Unread"
 msgstr "Non lus"
 
@@ -260,14 +246,9 @@ msgstr "Les plus anciens en premier"
 msgid "Title"
 msgstr "Titre"
 
-#: index.php:185
-#: index.php:233
-#: include/functions.php:1997
-#: classes/feeds.php:103
-#: classes/feeds.php:441
-#: js/FeedTree.js:128
+#: index.php:185 index.php:233 include/functions.php:1998
+#: classes/feeds.php:103 classes/feeds.php:424 js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Marquer comme lu"
 
@@ -307,8 +288,7 @@ msgstr "Rechercher..."
 msgid "Feed actions:"
 msgstr "Actions sur ce flux :"
 
-#: index.php:228
-#: classes/handler/public.php:559
+#: index.php:228 classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "S'abonner au flux..."
 
@@ -320,9 +300,7 @@ msgstr "Modifier ce flux..."
 msgid "Rescore feed"
 msgstr "Recalculer le score du flux"
 
-#: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: index.php:231 classes/pref/feeds.php:746 classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Se désabonner"
@@ -339,8 +317,7 @@ msgstr "Masquer/afficher les flux lus"
 msgid "Other actions:"
 msgstr "Autres actions :"
 
-#: index.php:236
-#: include/functions.php:1983
+#: index.php:236 include/functions.php:1984
 msgid "Toggle widescreen mode"
 msgstr "Basculer le mode écran large"
 
@@ -361,86 +338,71 @@ msgid "Keyboard shortcuts help"
 msgstr "Aide sur les raccourcis clavier"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Déconnexion"
 
-#: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:33 prefs.php:115 include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Configuration"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Raccourcis clavier"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Quitter la configuration"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118 classes/pref/feeds.php:106 classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Flux"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121 classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Filtres"
 
-#: prefs.php:125
-#: include/functions.php:1176
-#: include/functions.php:1831
+#: prefs.php:124 include/functions.php:1176 include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "Etiquettes"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Utilisateurs"
 
-#: prefs.php:132
-#, fuzzy
+#: prefs.php:131
 msgid "System"
-msgstr "Plugins systèmes"
+msgstr "Système"
 
-#: register.php:184
-#: include/login_form.php:238
+#: register.php:184 include/login_form.php:238
 msgid "Create new account"
 msgstr "Créer un nouveau compte"
 
 #: register.php:190
 msgid "New user registrations are administratively disabled."
-msgstr "L'inscription de nouveaux utilisateurs est désactivée par l'administrateur."
-
-#: register.php:194
-#: register.php:239
-#: register.php:252
-#: register.php:267
-#: register.php:286
-#: register.php:334
-#: register.php:344
-#: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+msgstr ""
+"L'inscription de nouveaux utilisateurs est désactivée par l'administrateur."
+
+#: register.php:194 register.php:239 register.php:252 register.php:267
+#: register.php:286 register.php:334 register.php:344 register.php:356
+#: classes/handler/public.php:632 classes/handler/public.php:723
+#: classes/handler/public.php:805 classes/handler/public.php:880
+#: classes/handler/public.php:894 classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Revenir à Tiny Tiny RSS"
 
 #: register.php:215
-msgid "Your temporary password will be sent to the specified email. Accounts, which were not logged in once, are erased automatically 24 hours after temporary password is sent."
-msgstr "Votre mot de passe temporaire va être envoyé à l'adresse mail indiquée. Les comptes ne s'étant pas connectés au moins une fois dans les 24 heures qui suivent l'envoi du mail seront supprimés."
+msgid ""
+"Your temporary password will be sent to the specified email. Accounts, which "
+"were not logged in once, are erased automatically 24 hours after temporary "
+"password is sent."
+msgstr ""
+"Votre mot de passe temporaire va être envoyé à l'adresse mail indiquée. Les "
+"comptes ne s'étant pas connectés au moins une fois dans les 24 heures qui "
+"suivent l'envoi du mail seront supprimés."
 
 #: register.php:221
 msgid "Desired login:"
@@ -450,13 +412,11 @@ msgstr "Identifiant souhaité :"
 msgid "Check availability"
 msgstr "Vérifier la disponibilité"
 
-#: register.php:226
-#: classes/handler/public.php:757
+#: register.php:226 classes/handler/public.php:763
 msgid "Email:"
 msgstr "Adresse mail :"
 
-#: register.php:229
-#: classes/handler/public.php:762
+#: register.php:229 classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "Combien font 2 plus 2 :"
 
@@ -488,13 +448,9 @@ msgstr "L'inscription de nouveaux utilisateurs est actuellement fermée."
 msgid "Tiny Tiny RSS data update script."
 msgstr "Script de mise à jour des données de Tiny Tiny RSS."
 
-#: include/digest.php:109
-#: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
-#: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: include/digest.php:109 include/functions.php:1185
+#: include/functions.php:1733 include/functions.php:1818
+#: include/functions.php:1840 classes/opml.php:416 classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Sans catégorie"
 
@@ -509,354 +465,313 @@ msgstr[1] "%d articles archivés"
 msgid "No feeds found."
 msgstr "Aucun flux trouvé."
 
-#: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1174 include/functions.php:1830
 msgid "Special"
 msgstr "Spécial"
 
-#: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: include/functions.php:1681 classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Tous les flux"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Articles remarquables"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Articles publiés"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Nouveaux articles"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891 include/functions.php:2006
 msgid "All articles"
 msgstr "Tous les articles"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "Articles archivés"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr "Lus récemment"
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Navigation"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 msgid "Open next feed"
 msgstr "Ouvrir le flux suivant"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr "Ouvrir le flux précédent"
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 msgid "Open next article"
 msgstr "Ouvrir l'article suivant"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 msgid "Open previous article"
 msgstr "Ouvrir l'article précédent"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr "Ouvrir l'article suivant (ne pas faire défiler les articles longs)"
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr "Ouvrir l'article précédent (ne pas faire défiler les articles longs)"
 
-#: include/functions.php:1964
-#, fuzzy
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
-msgstr "Ouvrir l'article suivant (ne pas faire défiler les articles longs)"
+msgstr "Aller à l'article suivant (ne pas développer ou marqué lu)"
 
-#: include/functions.php:1965
-#, fuzzy
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
-msgstr "Ouvrir l'article précédent (ne pas faire défiler les articles longs)"
+msgstr "Aller à l'article précédent (ne pas développer ou marqué lu)"
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Afficher la fenêtre de recherche"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 msgid "Article"
 msgstr "Article"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Marquer comme (non) remarquable"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970 js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Marquer comme (non) publié"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971 js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Marquer comme (non) lu"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Modifier les tags"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 msgid "Dismiss selected"
 msgstr "Ecarter la sélection"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 msgid "Dismiss read"
 msgstr "Ecarter les articles lus"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 msgid "Open in new window"
 msgstr "Ouvrir dans une nouvelle fenêtre"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976 js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr "Marquer les articles en-dessous comme lus"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977 js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr "Marquer les articles au-dessus comme lus"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 msgid "Scroll down"
 msgstr "Défiler vers le bas"
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr "Défiler vers le haut"
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 msgid "Select article under cursor"
 msgstr "Sélectionner l'article sous le curseur"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr "Envoyer l'article par mail"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 msgid "Close/collapse article"
 msgstr "Contracter l'article"
 
-#: include/functions.php:1982
-#, fuzzy
+#: include/functions.php:1983
 msgid "Toggle article expansion (combined mode)"
-msgstr "Basculer le développement automatique en mode combiné"
+msgstr "Basculer le développement (mode combiné)"
 
-#: include/functions.php:1984
-#: plugins/embed_original/init.php:31
+#: include/functions.php:1985 plugins/embed_original/init.php:31
 msgid "Toggle embed original"
 msgstr "Basculer l'intégration de l'article original"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 msgid "Article selection"
 msgstr "Sélection d'article"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr "Sélectionner tous les articles"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 msgid "Select unread"
 msgstr "Sélectionner les articles non-lus"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 msgid "Select starred"
 msgstr "Sélectionner les articles remarquables"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 msgid "Select published"
 msgstr "Sélectionner les articles publiés"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 msgid "Invert selection"
 msgstr "Inverser la sélection"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 msgid "Deselect everything"
 msgstr "Tout désélectionner"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993 classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Flux"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 msgid "Refresh current feed"
 msgstr "Actualiser le flux actif"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 msgid "Un/hide read feeds"
 msgstr "Masquer/afficher les flux lus"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996 classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "S'abonner au flux"
 
-#: include/functions.php:1996
-#: js/FeedTree.js:135
-#: js/PrefFeedTree.js:67
+#: include/functions.php:1997 js/FeedTree.js:135 js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Modifier le flux"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 msgid "Reverse headlines"
 msgstr "Inverser l'ordre des en-têtes"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 msgid "Debug feed update"
 msgstr "Déboguer les mises à jour"
 
-#: include/functions.php:2000
-#: js/FeedTree.js:178
+#: include/functions.php:2001 js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Marquer tous les flux comme lus"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 msgid "Un/collapse current category"
 msgstr "Étendre/contracter la catégorie"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 msgid "Toggle combined mode"
 msgstr "Basculer le mode combiné"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 msgid "Toggle auto expand in combined mode"
 msgstr "Basculer le développement automatique en mode combiné"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 msgid "Go to"
 msgstr "Aller à"
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr "Nouveaux"
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010 js/tt-rss.js:457 js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Nuage de tags"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 msgid "Other"
 msgstr "Autre"
 
-#: include/functions.php:2012
-#: classes/pref/labels.php:281
+#: include/functions.php:2013 classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Créer une étiquette"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014 classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Créer un filtre"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 msgid "Un/collapse sidebar"
 msgstr "Ouvrir/fermer la barre latérale"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 msgid "Show help dialog"
 msgstr "Afficher la fenêtre d'aide"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr "Résultats de recherche: %s"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154 include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "aucun tag"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164 classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Modifier les tags pour cet article"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196 classes/feeds.php:628
 msgid "Originally from:"
 msgstr "Origine :"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209 classes/feeds.php:641 classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr "URL du flux"
 
-#: include/functions.php:3242
-#: classes/dlg.php:37
-#: classes/dlg.php:60
-#: classes/dlg.php:93
-#: classes/dlg.php:159
-#: classes/dlg.php:190
-#: classes/dlg.php:217
-#: classes/dlg.php:250
-#: classes/dlg.php:262
-#: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
-#: plugins/googlereaderimport/init.php:193
-#: plugins/share/init.php:65
+#: include/functions.php:3241 classes/dlg.php:37 classes/dlg.php:60
+#: classes/dlg.php:93 classes/dlg.php:159 classes/dlg.php:190
+#: classes/dlg.php:217 classes/dlg.php:250 classes/dlg.php:262
+#: classes/backend.php:105 classes/pref/users.php:95
+#: classes/pref/filters.php:145 classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626 classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407 plugins/import_export/init.php:452
+#: plugins/googlereaderimport/init.php:193 plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Fermer cette fenêtre"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr "(modifier l'annotation)"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "type inconnu"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 msgid "Attachments"
 msgstr "Fichier attaché"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
-msgstr ""
+msgstr "Erreur LibXML %s ligne %d (colonne %d): %s"
 
-#: include/login_form.php:183
-#: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: include/login_form.php:183 classes/handler/public.php:475
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Identifiant :"
 
-#: include/login_form.php:194
-#: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
+#: include/login_form.php:194 classes/handler/public.php:478
 msgid "Password:"
 msgstr "Mot de passe :"
 
@@ -868,10 +783,8 @@ msgstr "J'ai oublié mon mot de passe"
 msgid "Profile:"
 msgstr "Profil :"
 
-#: include/login_form.php:209
-#: classes/handler/public.php:233
-#: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: include/login_form.php:209 classes/handler/public.php:233
+#: classes/rpc.php:63 classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "Profil par défaut"
 
@@ -882,14 +795,14 @@ msgstr "Minimiser l'usage du trafic"
 #: include/login_form.php:221
 msgid "Does not display images in articles, reduces automatic refreshes."
 msgstr ""
+"N'affiche pas les images dans les articles, allège les actualisation "
+"automatiques."
 
 #: include/login_form.php:229
 msgid "Remember me"
 msgstr "Se souvenir de moi"
 
-#: include/login_form.php:235
-#: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
+#: include/login_form.php:235 classes/handler/public.php:483
 msgid "Log in"
 msgstr "Se connecter"
 
@@ -905,44 +818,28 @@ msgstr "Article non trouvé."
 msgid "Tags for this article (separated by commas):"
 msgstr "Tags pour cet article (séparés par des virgules) :"
 
-#: classes/article.php:204
-#: classes/pref/users.php:176
-#: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
-#: plugins/nsfw/init.php:83
-#: plugins/note/init.php:51
-#: plugins/instances/init.php:245
+#: classes/article.php:204 classes/pref/users.php:172
+#: classes/pref/labels.php:79 classes/pref/filters.php:403
+#: classes/pref/prefs.php:980 classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910 plugins/nsfw/init.php:83
+#: plugins/note/init.php:51 plugins/instances/init.php:245
 msgid "Save"
 msgstr "Enregistrer"
 
-#: classes/article.php:206
-#: classes/handler/public.php:452
-#: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
-#: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
-#: plugins/mail/init.php:124
-#: plugins/note/init.php:53
-#: plugins/instances/init.php:248
+#: classes/article.php:206 classes/handler/public.php:452
+#: classes/handler/public.php:486 classes/feeds.php:1024
+#: classes/feeds.php:1076 classes/feeds.php:1136 classes/pref/users.php:174
+#: classes/pref/labels.php:81 classes/pref/filters.php:406
+#: classes/pref/filters.php:801 classes/pref/filters.php:877
+#: classes/pref/filters.php:944 classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763 classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834 plugins/mail/init.php:124
+#: plugins/note/init.php:53 plugins/instances/init.php:248
 #: plugins/instances/init.php:436
 msgid "Cancel"
 msgstr "Annuler"
 
-#: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: classes/handler/public.php:416 plugins/bookmarklets/init.php:40
 msgid "Share with Tiny Tiny RSS"
 msgstr "Partager avec Tiny Tiny RSS"
 
@@ -950,10 +847,8 @@ msgstr "Partager avec Tiny Tiny RSS"
 msgid "Title:"
 msgstr "Titre :"
 
-#: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
-#: plugins/instances/init.php:212
+#: classes/handler/public.php:426 classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798 plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
 msgstr "URL :"
@@ -978,119 +873,128 @@ msgstr "Partager"
 msgid "Not logged in"
 msgstr "Non connecté"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Identifiant ou mot de passe incorrect"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568 classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Déjà abonné à <b>%s</b>."
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571 classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Abonné à <b>%s</b>."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574 classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Impossible de s'abonner à <b>%s</b>."
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577 classes/handler/public.php:663
 #, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "Aucun flux trouvé dans <b>%s</b>."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580 classes/handler/public.php:669
 msgid "Multiple feed URLs found."
 msgstr "Plusieurs flux trouvé."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584 classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
-msgstr "Impossible de s'abonner à <b>%s</b>.<br>Impossible de télécharger l'URL du flux."
+msgstr ""
+"Impossible de s'abonner à <b>%s</b>.<br>Impossible de télécharger l'URL du "
+"flux."
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602 classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr "S'abonner au flux sélectionné"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627 classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Modifier les options d'abonnement"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 msgid "Password recovery"
 msgstr "Récupération de mot de passe"
 
-#: classes/handler/public.php:745
-msgid "You will need to provide valid account name and email. New password will be sent on your email address."
-msgstr "Vous devrez fournir un nom et une adresse email valides. Le nouveau mot de passe sera envoyé à votre adresse email."
+#: classes/handler/public.php:751
+msgid ""
+"You will need to provide valid account name and email. New password will be "
+"sent on your email address."
+msgstr ""
+"Vous devrez fournir un nom et une adresse email valides. Le nouveau mot de "
+"passe sera envoyé à votre adresse email."
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773 classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Réinitialiser le mot de passe"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr "Des paramètres du formulaire manquent ou sont invalides."
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787 classes/handler/public.php:813
 msgid "Go back"
 msgstr "Revenir"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr "Désolé, ce couple identifiant et mail n'a pas été trouvé."
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "Vous n'avez pas les permissions nécessaires pour exécuter ce script."
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Outil de mise à jour de la base de données"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Exécuter les mises à jour"
 
 #: classes/dlg.php:16
-msgid "If you have imported labels and/or filters, you might need to reload preferences to see your new data."
-msgstr "Si vous avez importé des étiquettes et/ou des filtres, vous devrez peut-être recharger les préférences pour voir les nouvelles données."
+msgid ""
+"If you have imported labels and/or filters, you might need to reload "
+"preferences to see your new data."
+msgstr ""
+"Si vous avez importé des étiquettes et/ou des filtres, vous devrez peut-être "
+"recharger les préférences pour voir les nouvelles données."
 
 #: classes/dlg.php:48
 msgid "Your Public OPML URL is:"
 msgstr "Votre URL OPML publique est :"
 
-#: classes/dlg.php:57
-#: classes/dlg.php:214
+#: classes/dlg.php:57 classes/dlg.php:214
 msgid "Generate new URL"
 msgstr "Générer une nouvelle URL"
 
 #: classes/dlg.php:71
-msgid "Update daemon is enabled in configuration, but daemon process is not running, which prevents all feeds from updating. Please start the daemon process or contact instance owner."
-msgstr "Le démon de mise à jour est activé dans la configuration mais le processus n'est pas lancé et les flux ne sont donc pas mis à jour. Veuillez le démarrer ou contacter l'administrateur."
+msgid ""
+"Update daemon is enabled in configuration, but daemon process is not "
+"running, which prevents all feeds from updating. Please start the daemon "
+"process or contact instance owner."
+msgstr ""
+"Le démon de mise à jour est activé dans la configuration mais le processus "
+"n'est pas lancé et les flux ne sont donc pas mis à jour. Veuillez le "
+"démarrer ou contacter l'administrateur."
 
-#: classes/dlg.php:75
-#: classes/dlg.php:84
+#: classes/dlg.php:75 classes/dlg.php:84
 msgid "Last update:"
 msgstr "Dernière mise à jour :"
 
 #: classes/dlg.php:80
-msgid "Update daemon is taking too long to perform a feed update. This could indicate a problem like crash or a hang. Please check the daemon process or contact instance owner."
-msgstr "Le démon de mise à jour prend trop de temps pour effectuer une mise à jour de flux. Cela peut indiquer un problème comme un crash ou un suspension du processus. Veuillez vérifier son état ou bien contacter l'administrateur."
+msgid ""
+"Update daemon is taking too long to perform a feed update. This could "
+"indicate a problem like crash or a hang. Please check the daemon process or "
+"contact instance owner."
+msgstr ""
+"Le démon de mise à jour prend trop de temps pour effectuer une mise à jour "
+"de flux. Cela peut indiquer un problème comme un crash ou un suspension du "
+"processus. Veuillez vérifier son état ou bien contacter l'administrateur."
 
 #: classes/dlg.php:166
 msgid "Match:"
@@ -1116,18 +1020,19 @@ msgstr "Afficher les entrées"
 msgid "You can view this feed as RSS using the following URL:"
 msgstr "Vous pouvez consulter ce flux comme RSS en utilisant l'URL suivante :"
 
-#: classes/dlg.php:233
-#: plugins/updater/init.php:331
+#: classes/dlg.php:233 plugins/updater/init.php:331
 #, php-format
 msgid "New version of Tiny Tiny RSS is available (%s)."
 msgstr "Une nouvelle version de Tiny Tiny RSS est disponible (%s)."
 
 #: classes/dlg.php:241
-msgid "You can update using built-in updater in the Preferences or by using update.php"
-msgstr "Vous pouvez mettre à jour depuis la Configuration ou en utilisant update.php"
+msgid ""
+"You can update using built-in updater in the Preferences or by using update."
+"php"
+msgstr ""
+"Vous pouvez mettre à jour depuis la Configuration ou en utilisant update.php"
 
-#: classes/dlg.php:245
-#: plugins/updater/init.php:335
+#: classes/dlg.php:245 plugins/updater/init.php:335
 msgid "See the release notes"
 msgstr "Voir les notes de publication"
 
@@ -1137,20 +1042,20 @@ msgstr "Télécharger"
 
 #: classes/dlg.php:255
 msgid "Error receiving version information or no new version available."
-msgstr "Erreur de lecture de l'information de version ou aucune nouvelle version disponible."
+msgstr ""
+"Erreur de lecture de l'information de version ou aucune nouvelle version "
+"disponible."
 
 #: classes/feeds.php:56
-#, fuzzy, php-format
+#, php-format
 msgid "Last updated: %s"
-msgstr "Dernière mise à jour :"
+msgstr "Dernière mise à jour : %s"
 
 #: classes/feeds.php:75
 msgid "View as RSS feed"
 msgstr "Voir comme flux RSS"
 
-#: classes/feeds.php:76
-#: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/feeds.php:76 classes/feeds.php:128 classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "Voir comme RSS"
 
@@ -1158,19 +1063,12 @@ msgstr "Voir comme RSS"
 msgid "Select:"
 msgstr "Sélectionner :"
 
-#: classes/feeds.php:84
-#: classes/pref/users.php:345
-#: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
-#: plugins/instances/init.php:287
+#: classes/feeds.php:84 classes/pref/users.php:341 classes/pref/labels.php:275
+#: classes/pref/filters.php:280 classes/pref/filters.php:328
+#: classes/pref/filters.php:646 classes/pref/filters.php:734
+#: classes/pref/filters.php:761 classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310 classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641 plugins/instances/init.php:287
 msgid "All"
 msgstr "Tout"
 
@@ -1178,19 +1076,12 @@ msgstr "Tout"
 msgid "Invert"
 msgstr "Inverse"
 
-#: classes/feeds.php:87
-#: classes/pref/users.php:347
-#: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
-#: plugins/instances/init.php:289
+#: classes/feeds.php:87 classes/pref/users.php:343 classes/pref/labels.php:277
+#: classes/pref/filters.php:282 classes/pref/filters.php:330
+#: classes/pref/filters.php:648 classes/pref/filters.php:736
+#: classes/pref/filters.php:763 classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312 classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643 plugins/instances/init.php:289
 msgid "None"
 msgstr "Aucun"
 
@@ -1218,17 +1109,13 @@ msgstr "Archive"
 msgid "Move back"
 msgstr "Revenir"
 
-#: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/feeds.php:110 classes/pref/filters.php:289
+#: classes/pref/filters.php:337 classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "Supprimer"
 
-#: classes/feeds.php:115
-#: classes/feeds.php:120
-#: plugins/mailto/init.php:25
+#: classes/feeds.php:115 classes/feeds.php:120 plugins/mailto/init.php:25
 #: plugins/mail/init.php:26
 msgid "Forward by email"
 msgstr "Transférer par email"
@@ -1237,163 +1124,150 @@ msgstr "Transférer par email"
 msgid "Feed:"
 msgstr "Flux :"
 
-#: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:197 classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Flux non trouvé."
 
 #: classes/feeds.php:254
-#, fuzzy
 msgid "Never"
-msgstr "Ne jamais purger"
+msgstr "Jamais"
 
 #: classes/feeds.php:360
 #, php-format
 msgid "Imported at %s"
 msgstr "Importé à %s"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "marquer comme lu"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 msgid "Collapse article"
 msgstr "Fermer l'article"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "Aucun article non lu à afficher."
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "Aucun article mis à jour à afficher."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "Aucun article remarquable à afficher."
 
-#: classes/feeds.php:748
-msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
-msgstr "Aucun article à afficher. Vous pouvez assigner des étiquettes aux articles manuellement (voir les actions du menu ci-dessus) ou utiliser un filtre."
+#: classes/feeds.php:735
+msgid ""
+"No articles found to display. You can assign articles to labels manually "
+"from article header context menu (applies to all selected articles) or use a "
+"filter."
+msgstr ""
+"Aucun article à afficher. Vous pouvez assigner des étiquettes aux articles "
+"manuellement (voir les actions du menu ci-dessus) ou utiliser un filtre."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "Aucun article à afficher."
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752 classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "Flux mis à jour à %s"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762 classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
-msgstr "Des erreurs sont survenues pendant la mise à jour de certains flux (cliquer ici pour les détails)"
+msgstr ""
+"Des erreurs sont survenues pendant la mise à jour de certains flux (cliquer "
+"ici pour les détails)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Aucun flux sélectionné."
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962 classes/feeds.php:970
 msgid "Feed or site URL"
 msgstr "URL du flux"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976 classes/pref/feeds.php:579 classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Placer dans la catégorie :"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "Flux disponibles"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996 classes/pref/users.php:135 classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Identification"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000 classes/pref/users.php:398
+#: classes/pref/feeds.php:615 classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Se connecter"
 
-#: classes/feeds.php:1016
-#: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/feeds.php:1003 classes/pref/prefs.php:260
+#: classes/pref/feeds.php:628 classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "Mot de passe"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Ce flux nécessite une identification."
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018 classes/feeds.php:1074 classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "S'abonner"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "D'autres flux"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044 classes/feeds.php:1135 classes/pref/users.php:328
+#: classes/pref/filters.php:639 classes/pref/feeds.php:1303 js/tt-rss.js:174
 msgid "Search"
 msgstr "Rechercher"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr "Flux populaires"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr "Archive du flux"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
 msgstr "limite :"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
-#: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/feeds.php:1075 classes/pref/users.php:354
+#: classes/pref/labels.php:284 classes/pref/filters.php:396
+#: classes/pref/filters.php:665 classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Supprimer"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "Rechercher"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Restreindre la recherche à :"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Ce flux"
 
 #: classes/backend.php:33
 msgid "Other interface tips are available in the Tiny Tiny RSS wiki."
-msgstr "D'autres astuces sur l'interface sont disponibles sur le wiki de Tiny Tiny RSS."
+msgstr ""
+"D'autres astuces sur l'interface sont disponibles sur le wiki de Tiny Tiny "
+"RSS."
 
 #: classes/backend.php:38
 msgid "Keyboard Shortcuts"
@@ -1411,8 +1285,7 @@ msgstr "Ctrl"
 msgid "Help topic not found."
 msgstr "Sujet non trouvé dans l'aide."
 
-#: classes/opml.php:28
-#: classes/opml.php:33
+#: classes/opml.php:28 classes/opml.php:33
 msgid "OPML Utility"
 msgstr "Outil OPML"
 
@@ -1458,38 +1331,31 @@ msgstr "Créer un filtre..."
 msgid "Processing category: %s"
 msgstr "Placer dans la catégorie : %s"
 
-#: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: classes/opml.php:465 plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
-msgstr ""
+msgstr "Échec de l'envoi, code d'erreur %d"
 
-#: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: classes/opml.php:479 plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
-#, fuzzy
 msgid "Unable to move uploaded file."
-msgstr "Erreur : impossible de charger l'article."
+msgstr "Impossible de déplacer le fichier envoyé."
 
-#: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: classes/opml.php:483 plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "Erreur : veuillez envoyer un document OPML."
 
 #: classes/opml.php:492
-#, fuzzy
 msgid "Error: unable to find moved OPML file."
-msgstr "Erreur : impossible de charger l'article."
+msgstr "Erreur : impossible de trouver le fichier OPML déplacé."
 
-#: classes/opml.php:499
-#: plugins/googlereaderimport/init.php:186
+#: classes/opml.php:499 plugins/googlereaderimport/init.php:186
 msgid "Error while parsing document."
 msgstr "Erreur lors de l'analyse du document."
 
-#: classes/pref/users.php:6
-#: classes/pref/system.php:8
+#: classes/pref/users.php:6 classes/pref/system.php:8
 #: plugins/instances/init.php:154
 msgid "Your access level is insufficient to open this tab."
 msgstr "Vous n'avez pas les permissions nécessaires pour ouvrir cet onglet."
@@ -1498,8 +1364,7 @@ msgstr "Vous n'avez pas les permissions nécessaires pour ouvrir cet onglet."
 msgid "User not found"
 msgstr "Utilisateur non trouvé"
 
-#: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:53 classes/pref/users.php:400
 msgid "Registered"
 msgstr "Inscrit"
 
@@ -1515,106 +1380,96 @@ msgstr "Nombre d'abonnements à des flux"
 msgid "Subscribed feeds"
 msgstr "Flux abonnés"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Permissions : "
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Nouveau mot de passe"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157 classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Options"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "Adresse email : "
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "Utilisateur <b>%s</b> ajouté avec le mot de passe <b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "Impossible de créer l'utilisateur <b>%s</b>"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "L'utilisateur <b>%s</b> existe déjà."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr "Mot de passe de l'utilisateur <b>%s</b> changé en <b>%s</b>"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr "Envoi du mot de passe de <b>%s</b> à <b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] Notification de changement de mot passe"
 
-#: classes/pref/users.php:342
-#: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
-#: plugins/instances/init.php:284
+#: classes/pref/users.php:338 classes/pref/labels.php:272
+#: classes/pref/filters.php:277 classes/pref/filters.php:325
+#: classes/pref/filters.php:643 classes/pref/filters.php:731
+#: classes/pref/filters.php:758 classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307 classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638 plugins/instances/init.php:284
 msgid "Select"
 msgstr "Sélectionner"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Créer l'utilisateur"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "Détails"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352 classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Modifier"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Permissions"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Dernière connexion"
 
-#: classes/pref/users.php:426
-#: plugins/instances/init.php:334
+#: classes/pref/users.php:420 plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Cliquer pour modifier"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "Aucun utilisateur défini."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "Aucun utilisateur correspondant trouvé."
 
-#: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/labels.php:22 classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Légende"
 
@@ -1639,125 +1494,115 @@ msgstr "Etiquette <b>%s</b> créé"
 msgid "Clear colors"
 msgstr "Ré-initialiser les couleurs"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr "Articles correspondant à ce filtre :"
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 msgid "No recent articles matching this filter have been found."
 msgstr "Aucun article récent correspondant à ce filtre."
 
-#: classes/pref/filters.php:137
-msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
-msgstr "Les expressions complexes risquent de ne pas avoir de résulats dans les tests à cause de problèmes avec le serveur."
+#: classes/pref/filters.php:135
+msgid ""
+"Complex expressions might not give results while testing due to issues with "
+"database server regexp implementation."
+msgstr ""
+"Les expressions complexes risquent de ne pas avoir de résulats dans les "
+"tests à cause de problèmes avec le serveur."
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272 classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Correspondance"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286 classes/pref/filters.php:334
+#: classes/pref/filters.php:740 classes/pref/filters.php:767
 msgid "Add"
 msgstr "Ajouter"
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320 classes/pref/filters.php:753
 msgid "Apply actions"
 msgstr "Actions éffectuées"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370 classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Activé"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379 classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr "Au moins une correspondance"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388 classes/pref/filters.php:788
 msgid "Inverse matching"
 msgstr "Correspondance inverse"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400 classes/pref/filters.php:795
 msgid "Test"
 msgstr "Test"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 msgid "(inverse)"
 msgstr "(inversé)"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr "%s sur %s dans %s %s"
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr "Combiner"
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661 classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "Réinitialiser le critère de tri"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669 classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Recalculer le score des articles"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Créer"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr "Inverser le résultat de l'expression rationnelle"
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "sur le champ"
 
-#: classes/pref/filters.php:863
-#: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
+#: classes/pref/filters.php:861 js/PrefFilterTree.js:45
 msgid "in"
 msgstr "dans"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 msgid "Save rule"
 msgstr "Enregistrer"
 
-#: classes/pref/filters.php:876
-#: js/functions.js:1013
+#: classes/pref/filters.php:874 js/functions.js:1013
 msgid "Add rule"
 msgstr "Ajouter une règle"
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Exécuter l'action"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "avec les paramètres :"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 msgid "Save action"
 msgstr "Enregistrer"
 
-#: classes/pref/filters.php:943
-#: js/functions.js:1039
+#: classes/pref/filters.php:941 js/functions.js:1039
 msgid "Add action"
 msgstr "Ajouter une action"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 msgid "[No caption]"
 msgstr "[Pas de titre]"
 
@@ -1790,16 +1635,24 @@ msgid "Blacklisted tags"
 msgstr "Tags exclus"
 
 #: classes/pref/prefs.php:27
-msgid "When auto-detecting tags in articles these tags will not be applied (comma-separated list)."
-msgstr "Lors de l'auto-détection des tags dans les articles, ces tags ne seront pas utilisés (séparés par des virgules)."
+msgid ""
+"When auto-detecting tags in articles these tags will not be applied (comma-"
+"separated list)."
+msgstr ""
+"Lors de l'auto-détection des tags dans les articles, ces tags ne seront pas "
+"utilisés (séparés par des virgules)."
 
 #: classes/pref/prefs.php:28
 msgid "Automatically mark articles as read"
 msgstr "Automatiquement marquer les articles comme lus"
 
 #: classes/pref/prefs.php:28
-msgid "This option enables marking articles as read automatically while you scroll article list."
-msgstr "Cette option permet de marquer automatiquement les articles comme lus lorsque vous naviguez dans la liste d'articles."
+msgid ""
+"This option enables marking articles as read automatically while you scroll "
+"article list."
+msgstr ""
+"Cette option permet de marquer automatiquement les articles comme lus "
+"lorsque vous naviguez dans la liste d'articles."
 
 #: classes/pref/prefs.php:29
 msgid "Automatically expand articles in combined mode"
@@ -1810,8 +1663,12 @@ msgid "Combined feed display"
 msgstr "Affichage combiné des flux"
 
 #: classes/pref/prefs.php:30
-msgid "Display expanded list of feed articles, instead of separate displays for headlines and article content"
-msgstr "Affiche les articles sous la forme d'une liste étendue, au lieu de deux listes séparées (une pour les en-têtes et une pour le contenu)"
+msgid ""
+"Display expanded list of feed articles, instead of separate displays for "
+"headlines and article content"
+msgstr ""
+"Affiche les articles sous la forme d'une liste étendue, au lieu de deux "
+"listes séparées (une pour les en-têtes et une pour le contenu)"
 
 #: classes/pref/prefs.php:31
 msgid "Confirm marking feed as read"
@@ -1822,13 +1679,16 @@ msgid "Amount of articles to display at once"
 msgstr "Nombre d'articles à afficher"
 
 #: classes/pref/prefs.php:33
-#, fuzzy
 msgid "Default feed update interval"
 msgstr "Fréquence de mise à jour par défaut"
 
 #: classes/pref/prefs.php:33
-msgid "Shortest interval at which a feed will be checked for updates regardless of update method"
+msgid ""
+"Shortest interval at which a feed will be checked for updates regardless of "
+"update method"
 msgstr ""
+"Intervalle minimum de temps entre deux mises à jour d'un flux, quelle que "
+"soit la méthode de mise à jour"
 
 #: classes/pref/prefs.php:34
 msgid "Mark articles in e-mail digest as read"
@@ -1839,8 +1699,12 @@ msgid "Enable e-mail digest"
 msgstr "Activer la synthèse quotidienne par courrier électronique"
 
 #: classes/pref/prefs.php:35
-msgid "This option enables sending daily digest of new (and unread) headlines on your configured e-mail address"
-msgstr "Cette option active l'envoi d'une synthèse quotidienne (digest) des en-têtes nouveaux et non lus à l'adresse électronique donnée"
+msgid ""
+"This option enables sending daily digest of new (and unread) headlines on "
+"your configured e-mail address"
+msgstr ""
+"Cette option active l'envoi d'une synthèse quotidienne (digest) des en-têtes "
+"nouveaux et non lus à l'adresse électronique donnée"
 
 #: classes/pref/prefs.php:36
 msgid "Try to send digests around specified time"
@@ -1887,19 +1751,21 @@ msgid "On catchup show next feed"
 msgstr "Sauter automatiquement au flux suivant"
 
 #: classes/pref/prefs.php:44
-msgid "Automatically open next feed with unread articles after marking one as read"
+msgid ""
+"Automatically open next feed with unread articles after marking one as read"
 msgstr "Sauter automatiquement au flux suivant après en marquer un comme lu"
 
 #: classes/pref/prefs.php:45
 msgid "Purge articles after this number of days (0 - disables)"
-msgstr "Purger les articles plus vieux que le nombre de jours donné (0 pour ne jamais purger)"
+msgstr ""
+"Purger les articles plus vieux que le nombre de jours donné (0 pour ne "
+"jamais purger)"
 
 #: classes/pref/prefs.php:46
 msgid "Purge unread articles"
 msgstr "Purger les articles non lus"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "Inverser l'order des en-têtes (les plus anciens en premier)"
 
@@ -1917,7 +1783,9 @@ msgstr "Trier les en-têtes par date de flux"
 
 #: classes/pref/prefs.php:50
 msgid "Use feed-specified date to sort headlines instead of local import date."
-msgstr "Utiliser les dates spécifiées dans le flux pour trier les en-têtes au lieu des dates importées localement."
+msgstr ""
+"Utiliser les dates spécifiées dans le flux pour trier les en-têtes au lieu "
+"des dates importées localement."
 
 #: classes/pref/prefs.php:51
 msgid "Login with an SSL certificate"
@@ -1937,10 +1805,11 @@ msgstr "Éliminer les tags non sûrs des articles"
 
 #: classes/pref/prefs.php:53
 msgid "Strip all but most common HTML tags when reading articles."
-msgstr "Élimine toutes les balises HTML sauf les plus courantes lors de la lecture des articles."
+msgstr ""
+"Élimine toutes les balises HTML sauf les plus courantes lors de la lecture "
+"des articles."
 
-#: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: classes/pref/prefs.php:54 js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "Personnaliser la feuille de style"
 
@@ -1949,9 +1818,8 @@ msgid "Customize CSS stylesheet to your liking"
 msgstr "Personnaliser les feuilles de style CSS"
 
 #: classes/pref/prefs.php:55
-#, fuzzy
 msgid "Time zone"
-msgstr "Fuseau horaire de l'utilisateur"
+msgstr "Fuseau horaire"
 
 #: classes/pref/prefs.php:56
 msgid "Group headlines in virtual feeds"
@@ -1962,13 +1830,12 @@ msgid "Special feeds, labels, and categories are grouped by originating feeds"
 msgstr "Les flux spéciaux, tags et catégories sont regroupés par flux sources."
 
 #: classes/pref/prefs.php:57
-#, fuzzy
 msgid "Language"
-msgstr "Langue :"
+msgstr "Langue"
 
 #: classes/pref/prefs.php:58
 msgid "Theme"
-msgstr ""
+msgstr "Thème"
 
 #: classes/pref/prefs.php:58
 msgid "Select one of the available CSS themes"
@@ -2004,9 +1871,8 @@ msgid "Your personal data has been saved."
 msgstr "Vos données personnelles ont été sauvegardées."
 
 #: classes/pref/prefs.php:176
-#, fuzzy
 msgid "Your preferences are now set to default values."
-msgstr "Certaines options ne ne disponibles que dans le profil par défaut."
+msgstr "Vos préférences sont maintenant les valeurs par défaut."
 
 #: classes/pref/prefs.php:198
 msgid "Personal data / Authentication"
@@ -2038,7 +1904,9 @@ msgstr "Votre mot de passe est celui par défaut, veuillez le modifier."
 
 #: classes/pref/prefs.php:294
 msgid "Changing your current password will disable OTP."
-msgstr "Changer votre mot de passe actuel désactivera les mots de passe à usage unique."
+msgstr ""
+"Changer votre mot de passe actuel désactivera les mots de passe à usage "
+"unique."
 
 #: classes/pref/prefs.php:299
 msgid "Old password"
@@ -2061,11 +1929,14 @@ msgid "One time passwords / Authenticator"
 msgstr "Mots de passe à usage unique / Identificateur"
 
 #: classes/pref/prefs.php:327
-msgid "One time passwords are currently enabled. Enter your current password below to disable."
-msgstr "Les mots de passe à usage unique sont actuellement activés. Entrez votre mot de passe actuel ci-dessous pour les désactiver."
+msgid ""
+"One time passwords are currently enabled. Enter your current password below "
+"to disable."
+msgstr ""
+"Les mots de passe à usage unique sont actuellement activés. Entrez votre mot "
+"de passe actuel ci-dessous pour les désactiver."
 
-#: classes/pref/prefs.php:352
-#: classes/pref/prefs.php:403
+#: classes/pref/prefs.php:352 classes/pref/prefs.php:403
 msgid "Enter your password"
 msgstr "Entrez votre mot de passe"
 
@@ -2074,17 +1945,20 @@ msgid "Disable OTP"
 msgstr "Désactiver les mots de passe à usage unique"
 
 #: classes/pref/prefs.php:369
-msgid "You will need a compatible Authenticator to use this. Changing your password would automatically disable OTP."
-msgstr "Vous aurez besoin d'un Identificateur compatible pour utiliser ceci. Changer votre mot de passe le désactivera automatiquement."
+msgid ""
+"You will need a compatible Authenticator to use this. Changing your password "
+"would automatically disable OTP."
+msgstr ""
+"Vous aurez besoin d'un Identificateur compatible pour utiliser ceci. Changer "
+"votre mot de passe le désactivera automatiquement."
 
 #: classes/pref/prefs.php:371
 msgid "Scan the following code by the Authenticator application:"
 msgstr "Scanner le code suivant avec l'application identificateur :"
 
 #: classes/pref/prefs.php:408
-#, fuzzy
 msgid "Enter the generated one time password"
-msgstr "Veuillez saisir votre mot de passe à usage unique :"
+msgstr "Veuillez saisir le mot de passe à usage unique"
 
 #: classes/pref/prefs.php:422
 msgid "Enable OTP"
@@ -2093,6 +1967,8 @@ msgstr "Activer les mots de passe à usage unique"
 #: classes/pref/prefs.php:428
 msgid "PHP GD functions are required for OTP support."
 msgstr ""
+"Les fonctions GD de PHP sont nécessaires pour utiliser les mots de passe à "
+"usage unique."
 
 #: classes/pref/prefs.php:471
 msgid "Some preferences are only available in default profile."
@@ -2120,9 +1996,8 @@ msgid "Save configuration"
 msgstr "Enregistrer la configuration"
 
 #: classes/pref/prefs.php:675
-#, fuzzy
 msgid "Save and exit preferences"
-msgstr "Quitter la configuration"
+msgstr "Sauvegarder et quitter la configuration"
 
 #: classes/pref/prefs.php:680
 msgid "Manage profiles"
@@ -2133,89 +2008,97 @@ msgid "Reset to defaults"
 msgstr "Revenir aux valeurs par défaut"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr "Plugins"
 
-#: classes/pref/prefs.php:710
-msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
-msgstr "Vous devrez relancer Tiny Tiny RSS pour que les changements apportés aux plugins prennent effet."
+#: classes/pref/prefs.php:708
+msgid ""
+"You will need to reload Tiny Tiny RSS for plugin changes to take effect."
+msgstr ""
+"Vous devrez relancer Tiny Tiny RSS pour que les changements apportés aux "
+"plugins prennent effet."
 
-#: classes/pref/prefs.php:712
-msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
-msgstr "Téléchargez plus de plugins sur <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">le forum</a> ou <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">le wiki</a> de Tiny Tiny RSS."
+#: classes/pref/prefs.php:710
+msgid ""
+"Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank"
+"\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a "
+"target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins"
+"\">wiki</a>."
+msgstr ""
+"Téléchargez plus de plugins sur <a class=\"visibleLink\" target=\"_blank\" "
+"href=\"http://tt-rss.org/forum/viewforum.php?f=22\">le forum</a> ou <a "
+"target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins"
+"\">le wiki</a> de Tiny Tiny RSS."
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr "Plugins systèmes"
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740 classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr "Plugin"
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741 classes/pref/prefs.php:795
 msgid "Description"
 msgstr "Description"
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742 classes/pref/prefs.php:796
 msgid "Version"
 msgstr "Version"
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743 classes/pref/prefs.php:797
 msgid "Author"
 msgstr "Auteur"
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772 classes/pref/prefs.php:829
 msgid "more info"
 msgstr "plus d'info"
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781 classes/pref/prefs.php:838
 msgid "Clear data"
 msgstr "Purger les données"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr "Plugins utilisateur"
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 msgid "Enable selected plugins"
 msgstr "Activer les plugins sélectionnés"
 
-#: classes/pref/prefs.php:922
-#, fuzzy
+#: classes/pref/prefs.php:920
 msgid "Incorrect one time password"
 msgstr "Mot de passe incorrect"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923 classes/pref/prefs.php:940
 msgid "Incorrect password"
 msgstr "Mot de passe incorrect"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
-msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
-msgstr "Vous pouvez redéfinir les couleurs, les polices et la mise en page du thème actuellement sélectionné à l'aide de vos propres instructions CSS ici. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">Ce fichier</a> peut être utilisé comme base de départ."
+msgid ""
+"You can override colors, fonts and layout of your currently selected theme "
+"with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink"
+"\" href=\"%s\">This file</a> can be used as a baseline."
+msgstr ""
+"Vous pouvez redéfinir les couleurs, les polices et la mise en page du thème "
+"actuellement sélectionné à l'aide de vos propres instructions CSS ici. <a "
+"target=\"_blank\" class=\"visibleLink\" href=\"%s\">Ce fichier</a> peut être "
+"utilisé comme base de départ."
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "Création d'un profil"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028 classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(actif)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "Supprimer les profils sélectionnés"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "Activer le profil"
 
@@ -2223,281 +2106,276 @@ msgstr "Activer le profil"
 msgid "Check to enable field"
 msgstr "Cocher pour activer le champ"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "Titre du flux"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587 classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Mettre à jour"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602 classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Purge des articles :"
 
-#: classes/pref/feeds.php:645
-msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
-msgstr "<b>Astuce :</b> vous devez renseigner vos informations d'identification si le flux nécessite une authentification, sauf pour les flux Twitter."
+#: classes/pref/feeds.php:632
+msgid ""
+"<b>Hint:</b> you need to fill in your login information if your feed "
+"requires authentication, except for Twitter feeds."
+msgstr ""
+"<b>Astuce :</b> vous devez renseigner vos informations d'identification si "
+"le flux nécessite une authentification, sauf pour les flux Twitter."
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648 classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "Masquer dans la liste des flux populaires"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660 classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "Inclure dans la synthèse quotidienne par courrier électronique"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673 classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Toujours afficher les images jointes"
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686 classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr "Ne pas intégrer les images"
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699 classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Enregistrer localement les images"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711 classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "Marquer les article mis à jour comme non lus"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr "Icône"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "Remplacer"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr "Réinscription aux mises à jour en push"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
-msgstr "Réinitialiser l'état de l'inscription PubSubHubbub pour les flux en mise à jour push."
+msgstr ""
+"Réinitialiser l'état de l'inscription PubSubHubbub pour les flux en mise à "
+"jour push."
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156 classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Tout est terminé."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "Flux avec des erreurs"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 msgid "Inactive feeds"
 msgstr "Flux inactifs"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "Modifier les flux sélectionnés"
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325 js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr "Abonnement par lots"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 msgid "Categories"
 msgstr "Catégories"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 msgid "Add category"
 msgstr "Ajouter une catégorie"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 msgid "Remove selected"
 msgstr "Supprimer les flux sélectionnés"
 
-#: classes/pref/feeds.php:1361
-msgid "(Un)hide empty categories"
-msgstr "Masquer/afficher les catégories vides"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "Autres actions..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Purger manuellement"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Purger les données de flux"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
-msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
-msgstr "Avec OPML, vous pouvez exporter et importer vos flux, filtrer, étiquettes et réglages de Tiny Tiny RSS."
+#: classes/pref/feeds.php:1411
+msgid ""
+"Using OPML you can export and import your feeds, filters, labels and Tiny "
+"Tiny RSS settings."
+msgstr ""
+"Avec OPML, vous pouvez exporter et importer vos flux, filtrer, étiquettes et "
+"réglages de Tiny Tiny RSS."
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
-msgstr "Seul le profil de réglages principal peut être migré en utilisant OPML."
+msgstr ""
+"Seul le profil de réglages principal peut être migré en utilisant OPML."
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 msgid "Import my OPML"
 msgstr "Importer mon OPML"
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr "Nom du fichier :"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
 msgstr "Inclure les paramètres"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 msgid "Export OPML"
 msgstr "Exporter en OPML"
 
-#: classes/pref/feeds.php:1456
-msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
-msgstr "Votre fichier OPML peut être publié et toute personne qui connaît l'adresse indiquée ci-dessous peut s'y abonner."
+#: classes/pref/feeds.php:1438
+msgid ""
+"Your OPML can be published publicly and can be subscribed by anyone who "
+"knows the URL below."
+msgstr ""
+"Votre fichier OPML peut être publié et toute personne qui connaît l'adresse "
+"indiquée ci-dessous peut s'y abonner."
 
-#: classes/pref/feeds.php:1458
-msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
-msgstr "Les OPML publiés n'incluent pas vos réglages de Tiny Tiny RSS, les flux qui nécessitent une authentification, ou les flux cachés des Flux Populaires."
+#: classes/pref/feeds.php:1440
+msgid ""
+"Published OPML does not include your Tiny Tiny RSS settings, feeds that "
+"require authentication or feeds hidden from Popular feeds."
+msgstr ""
+"Les OPML publiés n'incluent pas vos réglages de Tiny Tiny RSS, les flux qui "
+"nécessitent une authentification, ou les flux cachés des Flux Populaires."
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr "URL OPML publique"
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr "Afficher l'URL de l'OPML public"
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr "Intégration à Firefox"
 
-#: classes/pref/feeds.php:1472
-msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
-msgstr "Ce site Tiny Tiny RSS peut être utilisé comme lecteur de flux dans Firefox en cliquant sur le lien ci-dessous."
+#: classes/pref/feeds.php:1454
+msgid ""
+"This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the "
+"link below."
+msgstr ""
+"Ce site Tiny Tiny RSS peut être utilisé comme lecteur de flux dans Firefox "
+"en cliquant sur le lien ci-dessous."
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Cliquer ici pour enregistrer ce site comme lecteur de flux."
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 msgid "Published & shared articles / Generated feeds"
 msgstr "Articles publiés et partagés / Flux générés"
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr "Articles publiés et flux générés"
-
-#: classes/pref/feeds.php:1491
-msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
-msgstr "Les articles publiés sont exportés comme un flux RSS public et toute personne qui connaît l'adresse indiquée ci-dessous peut s'y abonner."
+#: classes/pref/feeds.php:1471
+msgid ""
+"Published articles are exported as a public RSS feed and can be subscribed "
+"by anyone who knows the URL specified below."
+msgstr ""
+"Les articles publiés sont exportés comme un flux RSS public et toute "
+"personne qui connaît l'adresse indiquée ci-dessous peut s'y abonner."
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr "Afficher l'URL"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr "Supprimer toutes les URL générées"
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr "Articles publiés par URL"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr "Vous pouvez désactiver tous les articles partagés par URL unique ici."
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 msgid "Unshare all articles"
 msgstr "Désactiver le partage pour tous les articles"
 
-#: classes/pref/feeds.php:1582
-msgid "These feeds have not been updated with new content for 3 months (oldest first):"
-msgstr "Les flux suivants n'ont pas été mis à jour depuis 3 mois (par âge décroissant) :"
+#: classes/pref/feeds.php:1568
+msgid ""
+"These feeds have not been updated with new content for 3 months (oldest "
+"first):"
+msgstr ""
+"Les flux suivants n'ont pas été mis à jour depuis 3 mois (par âge "
+"décroissant) :"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604 classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "Cliquez pour modifier le flux"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622 classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "Se désabonner des flux sélectionnés"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Ces flux n'ont pas été mis à jour à cause d'erreurs :"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
-msgstr "Ajoutez un flux RSS valide par ligne (aucune détection de flux n'est réalisée)"
+msgstr ""
+"Ajoutez un flux RSS valide par ligne (aucune détection de flux n'est "
+"réalisée)"
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr "Flux auxquels s'abonner, un par ligne"
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr "Les flux requièrent une identification."
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
-msgstr ""
+msgstr "Journal des erreurs"
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 msgid "Refresh"
 msgstr "Actualiser"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+msgid "Clear log"
+msgstr "Vider le journal"
+
+#: classes/pref/system.php:48
 msgid "Error"
-msgstr ""
+msgstr "Erreur"
 
-#: classes/pref/system.php:42
-#, fuzzy
+#: classes/pref/system.php:49
 msgid "Filename"
-msgstr "Nom du fichier :"
+msgstr "Nom du fichier"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
-msgstr ""
+msgstr "Message"
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "Date"
 
-#: plugins/digest/digest_body.php:57
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr "Votre navigateur ne gère pas JavaScript, alors que c'est nécessaire pour le bon fonctionnement de ce logiciel. Veuillez modifier la configuration de votre navigateur."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Bonjour,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr "Version ordinateur"
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr "Fermer l'article"
 
-#: plugins/nsfw/init.php:29
-#: plugins/nsfw/init.php:40
+#: plugins/nsfw/init.php:29 plugins/nsfw/init.php:40
 msgid "Not work safe (click to toggle)"
 msgstr "Non convenable au travail (cliquer pour basculer)"
 
@@ -2507,7 +2385,8 @@ msgstr "Plugin NSFW"
 
 #: plugins/nsfw/init.php:77
 msgid "Tags to consider NSFW (comma-separated)"
-msgstr "Tags à considérer non convenables au travail (séparés par des virgules)"
+msgstr ""
+"Tags à considérer non convenables au travail (séparés par des virgules)"
 
 #: plugins/nsfw/init.php:98
 msgid "Configuration saved."
@@ -2525,71 +2404,12 @@ msgstr "Le mot de passe a été modifié."
 msgid "Old password is incorrect."
 msgstr "L'ancien mot de passe n'est pas correct."
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr "Accueil"
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr "Rien n'a été trouvé (cliquez pour recharger le flux)."
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr "Version ordinateur"
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr "Utiliser les catégories de flux"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr "Activé"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr "Désactivé"
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr "Parcourir les catégories comme des dossiers"
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr "Afficher les images dans les articles"
-
-#: plugins/mobile/prefs.php:46
-msgid "Hide read articles and feeds"
-msgstr "Cacher les articles et flux lus"
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr "Trier les flux par nombre d'articles non lus"
-
-#: plugins/mailto/init.php:49
-#: plugins/mailto/init.php:55
-#: plugins/mail/init.php:64
-#: plugins/mail/init.php:70
+#: plugins/mailto/init.php:49 plugins/mailto/init.php:55
+#: plugins/mail/init.php:64 plugins/mail/init.php:70
 msgid "[Forwarded]"
 msgstr "[Transféré]"
 
-#: plugins/mailto/init.php:49
-#: plugins/mail/init.php:64
+#: plugins/mailto/init.php:49 plugins/mail/init.php:64
 msgid "Multiple articles"
 msgstr "Articles multiples"
 
@@ -2602,8 +2422,11 @@ msgid "Forward selected article(s) by email."
 msgstr "Transférer le ou les article(s) par mail."
 
 #: plugins/mailto/init.php:78
-msgid "You should be able to edit the message before sending in your mail client."
-msgstr "Vous devriez pouvoir modifier le message avant son envoi dans votre client de messagerie."
+msgid ""
+"You should be able to edit the message before sending in your mail client."
+msgstr ""
+"Vous devriez pouvoir modifier le message avant son envoi dans votre client "
+"de messagerie."
 
 #: plugins/mailto/init.php:83
 msgid "Close this dialog"
@@ -2614,19 +2437,24 @@ msgid "Bookmarklets"
 msgstr "Bookmarklets"
 
 #: plugins/bookmarklets/init.php:22
-msgid "Drag the link below to your browser toolbar, open the feed you're interested in in your browser and click on the link to subscribe to it."
-msgstr "Glissez le lien ci-dessous dans la barre d'outil de votre navigateur, ouvrez le flux qui vous intéresse et cliquez sur le lien pour vous abonner à ce flux."
+msgid ""
+"Drag the link below to your browser toolbar, open the feed you're interested "
+"in in your browser and click on the link to subscribe to it."
+msgstr ""
+"Glissez le lien ci-dessous dans la barre d'outil de votre navigateur, ouvrez "
+"le flux qui vous intéresse et cliquez sur le lien pour vous abonner à ce "
+"flux."
 
 #: plugins/bookmarklets/init.php:26
 #, php-format
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "S'abonner à %s dans Tiny Tiny RSS ?"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "S'abonner dans Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr "Utilisez ce bookmarklet pour publier des pages avec Tiny Tiny RSS"
 
@@ -2635,12 +2463,13 @@ msgid "Import and export"
 msgstr "Importer et exporter"
 
 #: plugins/import_export/init.php:60
-msgid "Article archive"
-msgstr "Archive"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
-msgstr "Vous pouvez exporter et importer vos articles remarquables et archivés afin de les sauvegarder ou pour les transférer entre deux instances de tt-rss."
+msgid ""
+"You can export and import your Starred and Archived articles for safekeeping "
+"or when migrating between tt-rss instances of same version."
+msgstr ""
+"Vous pouvez exporter et importer vos articles remarquables et archivés afin "
+"de les sauvegarder ou pour les transférer entre deux instances de tt-rss "
+"(même version)."
 
 #: plugins/import_export/init.php:65
 msgid "Export my data"
@@ -2650,49 +2479,48 @@ msgstr "Exporter mes données"
 msgid "Import"
 msgstr "Importer"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr "Import impossible : version du schéma incorrecte."
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr "Import impossible : format de document non reconnu."
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr "Fini : "
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] "%d article traité, "
 msgstr[1] "%d articles traités, "
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] "%d importé, "
 msgstr[1] "%d importés, "
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] "%d flux créé."
 msgstr[1] "%d flux créés."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr "Impossible de charger le document XML."
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr "Préparer les données"
 
-#: plugins/import_export/init.php:444
-#: plugins/googlereaderimport/init.php:92
+#: plugins/import_export/init.php:446 plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
 msgstr "Aucun fichier envoyé."
 
@@ -2712,23 +2540,10 @@ msgstr "Sujet :"
 msgid "Send e-mail"
 msgstr "Envoyer le mail"
 
-#: plugins/note/init.php:26
-#: plugins/note/note.js:11
+#: plugins/note/init.php:26 plugins/note/note.js:11
 msgid "Edit article note"
 msgstr "Modifier l'annotation de l'article"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr "Panneau d'exemple"
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr "Valeur d'exemple"
-
-#: plugins/example/init.php:73
-msgid "Set value"
-msgstr "Appliquer la valeur"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -2744,7 +2559,9 @@ msgstr "Importer les articles marqués ou partagés de Google Reader"
 
 #: plugins/googlereaderimport/init.php:357
 msgid "Paste your starred.json or shared.json into the form below."
-msgstr "Collez votre fichier starred.json ou shared.json dans le formulaire ci-dessous."
+msgstr ""
+"Collez votre fichier starred.json ou shared.json dans le formulaire ci-"
+"dessous."
 
 #: plugins/googlereaderimport/init.php:371
 msgid "Import my Starred items"
@@ -2754,35 +2571,29 @@ msgstr "Importer mes éléments partagés"
 msgid "Linked"
 msgstr "Instances liées"
 
-#: plugins/instances/init.php:204
-#: plugins/instances/init.php:395
+#: plugins/instances/init.php:204 plugins/instances/init.php:395
 msgid "Instance"
 msgstr "Instance"
 
-#: plugins/instances/init.php:215
-#: plugins/instances/init.php:312
+#: plugins/instances/init.php:215 plugins/instances/init.php:312
 #: plugins/instances/init.php:404
 msgid "Instance URL"
 msgstr "URL de l'instance"
 
-#: plugins/instances/init.php:226
-#: plugins/instances/init.php:414
+#: plugins/instances/init.php:226 plugins/instances/init.php:414
 msgid "Access key:"
 msgstr "Clef d'accès :"
 
-#: plugins/instances/init.php:229
-#: plugins/instances/init.php:313
+#: plugins/instances/init.php:229 plugins/instances/init.php:313
 #: plugins/instances/init.php:417
 msgid "Access key"
 msgstr "Clef d'accès"
 
-#: plugins/instances/init.php:233
-#: plugins/instances/init.php:421
+#: plugins/instances/init.php:233 plugins/instances/init.php:421
 msgid "Use one access key for both linked instances."
 msgstr "Utilisez une clef d'accès pour les deux instances liées."
 
-#: plugins/instances/init.php:241
-#: plugins/instances/init.php:429
+#: plugins/instances/init.php:241 plugins/instances/init.php:429
 msgid "Generate new key"
 msgstr "Générer une nouvelle clef"
 
@@ -2791,8 +2602,12 @@ msgid "Link instance"
 msgstr "Lier une instance"
 
 #: plugins/instances/init.php:304
-msgid "You can connect other instances of Tiny Tiny RSS to this one to share Popular feeds. Link to this instance of Tiny Tiny RSS by using this URL:"
-msgstr "Vous pouvez connecter d'autres instances de Tiny Tiny RSS à celle-ci pour partager les flux populaires. Pour cela, utilisez l'URL suivante :"
+msgid ""
+"You can connect other instances of Tiny Tiny RSS to this one to share "
+"Popular feeds. Link to this instance of Tiny Tiny RSS by using this URL:"
+msgstr ""
+"Vous pouvez connecter d'autres instances de Tiny Tiny RSS à celle-ci pour "
+"partager les flux populaires. Pour cela, utilisez l'URL suivante :"
 
 #: plugins/instances/init.php:314
 msgid "Last connected"
@@ -2818,8 +2633,7 @@ msgstr "Partager par URL"
 msgid "You can share this article by the following unique URL:"
 msgstr "Vous pouvez partager cet article avec l'URL unique suivante :"
 
-#: plugins/updater/init.php:321
-#: plugins/updater/init.php:338
+#: plugins/updater/init.php:321 plugins/updater/init.php:338
 #: plugins/updater/updater.js:10
 msgid "Update Tiny Tiny RSS"
 msgstr "Mettre à jour Tiny Tiny RSS"
@@ -2829,21 +2643,26 @@ msgid "Your Tiny Tiny RSS installation is up to date."
 msgstr "Votre installation de Tiny Tiny RSS est à jour."
 
 #: plugins/updater/init.php:349
-#, fuzzy
 msgid "Do not close this dialog until updating is finished."
-msgstr "Ne fermez pas ce dialogue avant que la mise à jour soit terminée. Veuillez sauvegarder votre dossier tt-rss avant de continuer."
+msgstr "Ne fermez pas ce dialogue avant que la mise à jour soit terminée."
 
 #: plugins/updater/init.php:358
 msgid "It is suggested to backup your tt-rss directory first."
-msgstr ""
+msgstr "Il est conseillé de sauvegarder votre dossier tt-rss avant."
 
 #: plugins/updater/init.php:359
 msgid "Your database will not be modified."
-msgstr ""
+msgstr "Votre base de données ne sera pas modifiée."
 
 #: plugins/updater/init.php:360
-msgid "Your current tt-rss installation directory will not be modified. It will be renamed and left in the parent directory. You will be able to migrate all your customized files after update finishes."
+msgid ""
+"Your current tt-rss installation directory will not be modified. It will be "
+"renamed and left in the parent directory. You will be able to migrate all "
+"your customized files after update finishes."
 msgstr ""
+"Votre dossier tt-rss ne sera pas modifié. Il sera renommé et laissé tel quel "
+"dans le dossier parent. Vous pourrez recopier vos fichiers personnalisés "
+"après la mise à jour."
 
 #: plugins/updater/init.php:361
 msgid "Ready to update."
@@ -2853,36 +2672,38 @@ msgstr "Prêt à mettre à jour."
 msgid "Start update"
 msgstr "Commencer la mise à jour"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397 js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Marquer tous les articles de %s comme lus ?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "Marquer tous les articles de %s âgés d'au moins 1 jour comme lus ?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "Marquer tous les articles de %s âgés d'au moins 1 semaine comme lus ?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "Marquer tous les articles de %s âgés d'au moins 2 semaines comme lus ?"
 
 #: js/functions.js:65
 msgid "The error will be reported to the configured log destination."
-msgstr ""
+msgstr "L'erreur sera reportée vers la destination configurée."
 
 #: js/functions.js:107
-msgid "Are you sure to report this exception to tt-rss.org? The report will include your browser information. Your IP would be saved in the database."
-msgstr "Êtes-vous sûr de vouloir signaler cette erreur sur tt-rss.org ? Le rapport incluera des informations sur votre navigateur. Votre adresse IP sera sauvegardée dans la base de données."
+msgid ""
+"Are you sure to report this exception to tt-rss.org? The report will include "
+"your browser information. Your IP would be saved in the database."
+msgstr ""
+"Êtes-vous sûr de vouloir signaler cette erreur sur tt-rss.org ? Le rapport "
+"incluera des informations sur votre navigateur. Votre adresse IP sera "
+"sauvegardée dans la base de données."
 
 #: js/functions.js:236
-#, fuzzy
 msgid "Click to close"
-msgstr "Cliquez pour mettre en pause"
+msgstr "Cliquez pour fermer"
 
 #: js/functions.js:612
 msgid "Error explained"
@@ -2941,9 +2762,8 @@ msgid "Specified URL doesn't seem to contain any feeds."
 msgstr "L'URL spécifiée ne semble pas contenir de flux."
 
 #: js/functions.js:862
-#, fuzzy
 msgid "Expand to select feed"
-msgstr "Modifier les flux sélectionnés"
+msgstr "Développer jusqu'au flux sélectionné"
 
 #: js/functions.js:874
 msgid "Couldn't download the specified URL: %s"
@@ -2951,7 +2771,7 @@ msgstr "L'URL spécifiée n'a pas pu être téléchargée : %s"
 
 #: js/functions.js:878
 msgid "XML validation failed: %s"
-msgstr ""
+msgstr "Erreur de validation XML: %s"
 
 #: js/functions.js:883
 msgid "You are already subscribed to this feed."
@@ -2970,15 +2790,18 @@ msgid "Create Filter"
 msgstr "Créer un filtre"
 
 #: js/functions.js:1191
-msgid "Reset subscription? Tiny Tiny RSS will try to subscribe to the notification hub again on next feed update."
-msgstr "Réinitialiser l'inscription ? Tiny Tiny RSS essayera de se réinscrire au hub de notification lors de la prochaine mise à jour du flux."
+msgid ""
+"Reset subscription? Tiny Tiny RSS will try to subscribe to the notification "
+"hub again on next feed update."
+msgstr ""
+"Réinitialiser l'inscription ? Tiny Tiny RSS essayera de se réinscrire au hub "
+"de notification lors de la prochaine mise à jour du flux."
 
 #: js/functions.js:1202
 msgid "Subscription reset."
 msgstr "Abonnement réinitialisé."
 
-#: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/functions.js:1212 js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "Se désabonner de %s ?"
 
@@ -2994,14 +2817,11 @@ msgstr "Veuillez saisir un titre pour cette catégorie :"
 msgid "Generate new syndication address for this feed?"
 msgstr "Générer une nouvelle adresse d'abonnement pour ce flux ?"
 
-#: js/functions.js:1359
-#: js/prefs.js:1231
+#: js/functions.js:1359 js/prefs.js:1231
 msgid "Trying to change address..."
 msgstr "Changement de l'adresse..."
 
-#: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/functions.js:1546 js/tt-rss.js:422 js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "Vous ne pouvez pas modifier ce type de flux."
 
@@ -3009,9 +2829,7 @@ msgstr "Vous ne pouvez pas modifier ce type de flux."
 msgid "Edit Feed"
 msgstr "Modifier le flux"
 
-#: js/functions.js:1567
-#: js/prefs.js:194
-#: js/prefs.js:749
+#: js/functions.js:1567 js/prefs.js:194 js/prefs.js:749
 msgid "Saving data..."
 msgstr "Enregistrement des données..."
 
@@ -3019,33 +2837,29 @@ msgstr "Enregistrement des données..."
 msgid "More Feeds"
 msgstr "D'autres flux"
 
-#: js/functions.js:1660
-#: js/functions.js:1770
-#: js/prefs.js:397
-#: js/prefs.js:427
-#: js/prefs.js:459
-#: js/prefs.js:642
-#: js/prefs.js:662
-#: js/prefs.js:1207
+#: js/functions.js:1660 js/functions.js:1770 js/prefs.js:397 js/prefs.js:427
+#: js/prefs.js:459 js/prefs.js:642 js/prefs.js:662 js/prefs.js:1207
 #: js/prefs.js:1352
 msgid "No feeds are selected."
 msgstr "Aucun flux sélectionné."
 
 #: js/functions.js:1702
-msgid "Remove selected feeds from the archive? Feeds with stored articles will not be removed."
-msgstr "Supprimer les flux sélectionnés de l'archive ? Les flux contenant des articles stockés ne seront pas supprimés."
+msgid ""
+"Remove selected feeds from the archive? Feeds with stored articles will not "
+"be removed."
+msgstr ""
+"Supprimer les flux sélectionnés de l'archive ? Les flux contenant des "
+"articles stockés ne seront pas supprimés."
 
 #: js/functions.js:1741
 msgid "Feeds with update errors"
 msgstr "Flux avec des erreurs de mise à jour"
 
-#: js/functions.js:1752
-#: js/prefs.js:1189
+#: js/functions.js:1752 js/prefs.js:1189
 msgid "Remove selected feeds?"
 msgstr "Supprimer les flux sélectionnés ?"
 
-#: js/functions.js:1755
-#: js/prefs.js:1192
+#: js/functions.js:1755 js/prefs.js:1192
 msgid "Removing selected feeds..."
 msgstr "Suppression des flux sélectionnés..."
 
@@ -3071,7 +2885,8 @@ msgstr "Veuillez saisir l'identifiant :"
 
 #: js/prefs.js:62
 msgid "Can't create user: no login specified."
-msgstr "Impossible de créer l'utilisateur : aucun identifiant n'a été spécifié."
+msgstr ""
+"Impossible de créer l'utilisateur : aucun identifiant n'a été spécifié."
 
 #: js/prefs.js:66
 msgid "Adding user..."
@@ -3101,23 +2916,23 @@ msgstr "Supprimer les étiquettes sélectionnées ?"
 msgid "Removing selected labels..."
 msgstr "Suppression des étiquettes sélectionnées..."
 
-#: js/prefs.js:295
-#: js/prefs.js:1393
+#: js/prefs.js:295 js/prefs.js:1393
 msgid "No labels are selected."
 msgstr "Aucune étiquette sélectionnée."
 
 #: js/prefs.js:309
-msgid "Remove selected users? Neither default admin nor your account will be removed."
-msgstr "Supprimer les utilisateurs sélectionnés ? L'administrateur par défaut et votre compte utilisateur ne seront pas supprimés."
+msgid ""
+"Remove selected users? Neither default admin nor your account will be "
+"removed."
+msgstr ""
+"Supprimer les utilisateurs sélectionnés ? L'administrateur par défaut et "
+"votre compte utilisateur ne seront pas supprimés."
 
 #: js/prefs.js:312
 msgid "Removing selected users..."
 msgstr "Suppression des utilisateurs sélectionnés..."
 
-#: js/prefs.js:326
-#: js/prefs.js:507
-#: js/prefs.js:528
-#: js/prefs.js:567
+#: js/prefs.js:326 js/prefs.js:507 js/prefs.js:528 js/prefs.js:567
 msgid "No users are selected."
 msgstr "Aucun utilisateur sélectionné."
 
@@ -3129,9 +2944,7 @@ msgstr "Supprimer les filtres sélectionnés ?"
 msgid "Removing selected filters..."
 msgstr "Suppression des filtres sélectionnés..."
 
-#: js/prefs.js:359
-#: js/prefs.js:597
-#: js/prefs.js:616
+#: js/prefs.js:359 js/prefs.js:597 js/prefs.js:616
 msgid "No filters are selected."
 msgstr "Aucun filtre sélectionné."
 
@@ -3149,7 +2962,8 @@ msgstr "Veuillez sélectionner un seul flux."
 
 #: js/prefs.js:418
 msgid "Erase all non-starred articles in selected feed?"
-msgstr "Supprimer tous les articles non-remarquables dans le flux sélectionné ?"
+msgstr ""
+"Supprimer tous les articles non-remarquables dans le flux sélectionné ?"
 
 #: js/prefs.js:421
 msgid "Clearing selected feed..."
@@ -3157,7 +2971,9 @@ msgstr "Nettoyage du flux sélectionné..."
 
 #: js/prefs.js:440
 msgid "How many days of articles to keep (0 - use default)?"
-msgstr "Combien de jours faut-il conserver les articles (0 pour utiliser la valeur par défaut) ?"
+msgstr ""
+"Combien de jours faut-il conserver les articles (0 pour utiliser la valeur "
+"par défaut) ?"
 
 #: js/prefs.js:443
 msgid "Purging selected feed..."
@@ -3171,9 +2987,7 @@ msgstr "L'identifiant ne peut pas être vide."
 msgid "Saving user..."
 msgstr "Sauvegarde de l'utilisateur..."
 
-#: js/prefs.js:512
-#: js/prefs.js:533
-#: js/prefs.js:572
+#: js/prefs.js:512 js/prefs.js:533 js/prefs.js:572
 msgid "Please select only one user."
 msgstr "Veuillez sélectionner un seul utilisateur."
 
@@ -3217,8 +3031,7 @@ msgstr "Import OPML"
 msgid "Please choose an OPML file first."
 msgstr "Veuillez d'abord sélectionner un fichier OPML."
 
-#: js/prefs.js:815
-#: plugins/import_export/import_export.js:115
+#: js/prefs.js:815 plugins/import_export/import_export.js:115
 #: plugins/googlereaderimport/init.js:45
 msgid "Importing, please wait..."
 msgstr "Import en cours, veuillez patienter..."
@@ -3228,8 +3041,11 @@ msgid "Reset to defaults?"
 msgstr "Revenir aux valeurs par défaut ?"
 
 #: js/prefs.js:1096
-msgid "Remove category %s? Any nested feeds would be placed into Uncategorized."
-msgstr "Supprimer la categorie %s ? Tous les flux enfants seront placés dans Sans catégorie."
+msgid ""
+"Remove category %s? Any nested feeds would be placed into Uncategorized."
+msgstr ""
+"Supprimer la categorie %s ? Tous les flux enfants seront placés dans Sans "
+"catégorie."
 
 #: js/prefs.js:1102
 msgid "Removing category..."
@@ -3277,7 +3093,9 @@ msgstr "Recalcul du score des flux sélectionnés..."
 
 #: js/prefs.js:1359
 msgid "Rescore all articles? This operation may take a lot of time."
-msgstr "Recalculer le score de tous les articles ? Cette opération peut prendre beaucoup de temps."
+msgstr ""
+"Recalculer le score de tous les articles ? Cette opération peut prendre "
+"beaucoup de temps."
 
 #: js/prefs.js:1362
 msgid "Rescoring feeds..."
@@ -3292,8 +3110,11 @@ msgid "Settings Profiles"
 msgstr "Paramètres des profils"
 
 #: js/prefs.js:1425
-msgid "Remove selected profiles? Active and default profiles will not be removed."
-msgstr "Supprimer les profils sélectionnés ? Les profils actifs et par défaut ne seront pas supprimés."
+msgid ""
+"Remove selected profiles? Active and default profiles will not be removed."
+msgstr ""
+"Supprimer les profils sélectionnés ? Les profils actifs et par défaut ne "
+"seront pas supprimés."
 
 #: js/prefs.js:1428
 msgid "Removing selected profiles..."
@@ -3303,13 +3124,11 @@ msgstr "Suppression des profils sélectionnés..."
 msgid "No profiles are selected."
 msgstr "Aucun profil sélectionné."
 
-#: js/prefs.js:1451
-#: js/prefs.js:1504
+#: js/prefs.js:1451 js/prefs.js:1504
 msgid "Activate selected profile?"
 msgstr "Activer le profil selectionné ?"
 
-#: js/prefs.js:1467
-#: js/prefs.js:1520
+#: js/prefs.js:1467 js/prefs.js:1520
 msgid "Please choose a profile to activate."
 msgstr "Veuillez sélectionner un profil à activer."
 
@@ -3319,10 +3138,11 @@ msgstr "Création d'un profil..."
 
 #: js/prefs.js:1528
 msgid "This will invalidate all previously generated feed URLs. Continue?"
-msgstr "Ceci va invalider toutes les URL de flux générées auparavant. Souhaitez-vous continuer ?"
+msgstr ""
+"Ceci va invalider toutes les URL de flux générées auparavant. Souhaitez-vous "
+"continuer ?"
 
-#: js/prefs.js:1531
-#: js/prefs.js:1550
+#: js/prefs.js:1531 js/prefs.js:1550
 msgid "Clearing URLs..."
 msgstr "Nettoyage des URL..."
 
@@ -3332,241 +3152,205 @@ msgstr "URL générées supprimées."
 
 #: js/prefs.js:1547
 msgid "This will invalidate all previously shared article URLs. Continue?"
-msgstr "Ceci va invalider tous les articles partagés par URL. Souhaitez-vous continuer ?"
+msgstr ""
+"Ceci va invalider tous les articles partagés par URL. Souhaitez-vous "
+"continuer ?"
 
 #: js/prefs.js:1557
 msgid "Shared URLs cleared."
 msgstr "URL partagées supprimées."
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Editeur d'étiquette"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr "Abonnement aux flux..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr "Effacer les données pour ce plugin ?"
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr "Vider le journal des erreurs ?"
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Marquer tous les articles comme lus ?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr "Marquage de tous les flux comme lus..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 msgid "Please enable mail plugin first."
 msgstr "Veuillez d'abord activer le plugin mail."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 msgid "Please enable embed_original plugin first."
 msgstr "Veuillez d'abord activer le plugin embed_original."
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr "Sélectionner des éléments par tags"
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "Vous ne pouvez pas vous désabonner de la catégorie."
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671 js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Veuillez d'abord sélectionner un flux."
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "Vous ne pouvez pas recalculer le score de ce type de flux."
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Recalculer le score des articles de %s ?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
 msgstr "Recalcul des scores des articles..."
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr "Une nouvelle version est disponible !"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 msgid "Cancel search"
 msgstr "Annuler la recherche"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Ne plus marquer comme remarquable"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Marquer comme remarquable"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Ne plus publier l'article"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Publier l'article"
 
-#: js/viewfeed.js:653
-#, fuzzy
+#: js/viewfeed.js:654
 msgid "%d article selected"
 msgid_plural "%d articles selected"
-msgstr[0] "Aucun article sélectionné."
-msgstr[1] "Aucun article sélectionné."
-
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
-#: plugins/mailto/init.js:7
+msgstr[0] "%d article sélectionné"
+msgstr[1] "%d articles sélectionnés"
+
+#: js/viewfeed.js:726 js/viewfeed.js:754 js/viewfeed.js:781 js/viewfeed.js:844
+#: js/viewfeed.js:878 js/viewfeed.js:998 js/viewfeed.js:1041
+#: js/viewfeed.js:1094 js/viewfeed.js:2071 plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "Aucun article sélectionné."
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "Supprimer %d article sélectionné de %s ?"
 msgstr[1] "Supprimer les %d articles sélectionnés de %s ?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "Supprimer %d article sélectionné ?"
 msgstr[1] "Supprimer les %d articles sélectionnés ?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "Archiver %d article sélectionné de %s ?"
 msgstr[1] "Archiver les %d articles sélectionnés de %s ?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "Restaurer %d article archivé ?"
 msgstr[1] "Restaurer %d articles archivés ?"
 
-#: js/viewfeed.js:1054
-msgid "Please note that unstarred articles might get purged on next feed update."
-msgstr "Veuillez noter que les articles non marqués risquent d'être purgés à la prochaine mise à jour du flux."
+#: js/viewfeed.js:1055
+msgid ""
+"Please note that unstarred articles might get purged on next feed update."
+msgstr ""
+"Veuillez noter que les articles non marqués risquent d'être purgés à la "
+"prochaine mise à jour du flux."
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "Marquer %d article sélectionné de %s comme lu ?"
 msgstr[1] "Marquer %d articles sélectionnés de %s comme lus ?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr "Modifier les tags de l'article"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
 msgstr "Sauvegarde des tags de l'article..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "Aucun article sélectionné."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "Aucun article à marquer"
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "Marquer %d article comme lu ?"
 msgstr[1] "Marquer %d articles comme lus ?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "Ouvrir l'article original"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 msgid "Display article URL"
 msgstr "Afficher l'URL"
 
 # Same as 'starred" ?
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 msgid "Toggle marked"
 msgstr "Marquer comme (non) remarquable"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Assigner l'étiquette"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "Supprimer l'étiquette"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 msgid "Please enter new score for selected articles:"
 msgstr "Nouveau score des articles sélectionnés :"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 msgid "Please enter new score for this article:"
 msgstr "Nouveau score pour cet article :"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 msgid "Article URL:"
 msgstr "URL de l'article :"
 
-#: plugins/digest/digest.js:72
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "Marquer %d article affiché comme lu ?"
-msgstr[1] "Marquer les %d articles affichés comme lus ?"
-
-#: plugins/digest/digest.js:290
-msgid "Error: unable to load article."
-msgstr "Erreur : impossible de charger l'article."
-
-#: plugins/digest/digest.js:464
-msgid "Click to expand article."
-msgstr "Cliquer pour développer l'article."
-
-#: plugins/digest/digest.js:535
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "%d de plus..."
-msgstr[1] "%d de plus..."
-
-#: plugins/digest/digest.js:542
-msgid "No unread feeds."
-msgstr "Aucun flux non lu."
-
-#: plugins/digest/digest.js:649
-msgid "Load more..."
-msgstr "Charger plus..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
-msgstr "Malheureusement, votre navigateur ne supporte pas les iframes sécurisées."
+msgstr ""
+"Malheureusement, votre navigateur ne supporte pas les iframes sécurisées."
 
-#: plugins/mailto/init.js:21
-#: plugins/mail/mail.js:21
+#: plugins/mailto/init.js:21 plugins/mail/mail.js:21
 msgid "Forward article by email"
 msgstr "Transférer l'article par email"
 
@@ -3575,10 +3359,18 @@ msgid "Export Data"
 msgstr "Exporter les données"
 
 #: plugins/import_export/import_export.js:40
-msgid "Finished, exported %d article. You can download the data <a class='visibleLink' href='%u'>here</a>."
-msgid_plural "Finished, exported %d articles. You can download the data <a class='visibleLink' href='%u'>here</a>."
-msgstr[0] "Terminé, %d article exporté. Vous pouvez télécharger les données <a class='visibleLink' href='%u'>ici</a>."
-msgstr[1] "Terminé, %d articles exportés. Vous pouvez télécharger les données <a class='visibleLink' href='%u'>ici</a>."
+msgid ""
+"Finished, exported %d article. You can download the data <a "
+"class='visibleLink' href='%u'>here</a>."
+msgid_plural ""
+"Finished, exported %d articles. You can download the data <a "
+"class='visibleLink' href='%u'>here</a>."
+msgstr[0] ""
+"Terminé, %d article exporté. Vous pouvez télécharger les données <a "
+"class='visibleLink' href='%u'>ici</a>."
+msgstr[1] ""
+"Terminé, %d articles exportés. Vous pouvez télécharger les données <a "
+"class='visibleLink' href='%u'>ici</a>."
 
 #: plugins/import_export/import_export.js:93
 msgid "Data Import"
@@ -3616,8 +3408,7 @@ msgstr "Supprimer les instances sélectionnées ?"
 msgid "Removing selected instances..."
 msgstr "Suppression des instances sélectionnées..."
 
-#: plugins/instances/instances.js:139
-#: plugins/instances/instances.js:151
+#: plugins/instances/instances.js:139 plugins/instances/instances.js:151
 msgid "No instances are selected."
 msgstr "Aucune instance sélectionnée."
 
@@ -3630,9 +3421,102 @@ msgid "Share article by URL"
 msgstr "Partager l'article par URL"
 
 #: plugins/updater/updater.js:58
-#, fuzzy
-msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
-msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre dossier tt-rss avant de continuer. Tapez « yes » pour continuer."
+msgid ""
+"Backup your tt-rss directory before continuing. Please type 'yes' to "
+"continue."
+msgstr ""
+"Sauvegardez votre dossier tt-rss avant de continuer. Veuillez taper « yes » "
+"pour continuer."
+
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Masquer/afficher les catégories vides"
+
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Articles publiés et flux générés"
+
+#~ msgid "Articles shared by URL"
+#~ msgstr "Articles publiés par URL"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Ces flux n'ont pas été mis à jour à cause d'erreurs :"
+
+#~ msgid ""
+#~ "Your browser doesn't support Javascript, which is required for this "
+#~ "application to function properly. Please check your browser settings."
+#~ msgstr ""
+#~ "Votre navigateur ne gère pas JavaScript, alors que c'est nécessaire pour "
+#~ "le bon fonctionnement de ce logiciel. Veuillez modifier la configuration "
+#~ "de votre navigateur."
+
+#~ msgid "Hello,"
+#~ msgstr "Bonjour,"
+
+#~ msgid "Regular version"
+#~ msgstr "Version ordinateur"
+
+#~ msgid "Home"
+#~ msgstr "Accueil"
+
+#~ msgid "Nothing found (click to reload feed)."
+#~ msgstr "Rien n'a été trouvé (cliquez pour recharger le flux)."
+
+#~ msgid "Open regular version"
+#~ msgstr "Version ordinateur"
+
+#~ msgid "Enable categories"
+#~ msgstr "Utiliser les catégories de flux"
+
+#~ msgid "ON"
+#~ msgstr "Activé"
+
+#~ msgid "OFF"
+#~ msgstr "Désactivé"
+
+#~ msgid "Browse categories like folders"
+#~ msgstr "Parcourir les catégories comme des dossiers"
+
+#~ msgid "Show images in posts"
+#~ msgstr "Afficher les images dans les articles"
+
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "Cacher les articles et flux lus"
+
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "Trier les flux par nombre d'articles non lus"
+
+#~ msgid "Article archive"
+#~ msgstr "Archive"
+
+#~ msgid "Example Pane"
+#~ msgstr "Panneau d'exemple"
+
+#~ msgid "Sample value"
+#~ msgstr "Valeur d'exemple"
+
+#~ msgid "Set value"
+#~ msgstr "Appliquer la valeur"
+
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "Marquer %d article affiché comme lu ?"
+#~ msgstr[1] "Marquer les %d articles affichés comme lus ?"
+
+#~ msgid "Error: unable to load article."
+#~ msgstr "Erreur : impossible de charger l'article."
+
+#~ msgid "Click to expand article."
+#~ msgstr "Cliquer pour développer l'article."
+
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "%d de plus..."
+#~ msgstr[1] "%d de plus..."
+
+#~ msgid "No unread feeds."
+#~ msgstr "Aucun flux non lu."
+
+#~ msgid "Load more..."
+#~ msgstr "Charger plus..."
 
 #~ msgid "Switch to digest..."
 #~ msgstr "Basculer en mode résumé..."
@@ -3653,7 +3537,8 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgstr "Sélectionner un thème"
 
 #~ msgid "I have scanned the code and would like to enable OTP"
-#~ msgstr "J'ai scanné le code et je veux activer les mots de passe à usage unique"
+#~ msgstr ""
+#~ "J'ai scanné le code et je veux activer les mots de passe à usage unique"
 
 #~ msgid "close"
 #~ msgstr "fermer"
@@ -3661,8 +3546,12 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgid "Playing..."
 #~ msgstr "Lecture..."
 
-#~ msgid "Could not upload file. You might need to adjust upload_max_filesize in PHP.ini (current value = %s)"
-#~ msgstr "Envoi du fichier impossible. Vous devriez peut-être modifier la valeur de upload_max_filesize dans PHP.ini (valeur courante : %s)"
+#~ msgid ""
+#~ "Could not upload file. You might need to adjust upload_max_filesize in "
+#~ "PHP.ini (current value = %s)"
+#~ msgstr ""
+#~ "Envoi du fichier impossible. Vous devriez peut-être modifier la valeur de "
+#~ "upload_max_filesize dans PHP.ini (valeur courante : %s)"
 
 #~ msgid "Default interval between feed updates"
 #~ msgstr "Intervalle par défaut entre les mises à jour de flux"
@@ -3682,8 +3571,12 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgid "Please backup your database before proceeding."
 #~ msgstr "Merci de sauvegardez votre base de données avant de poursuivre."
 
-#~ msgid "Your Tiny Tiny RSS database needs update to the latest version (<b>%d</b> to <b>%d</b>)."
-#~ msgstr "La base de données de Tiny Tiny RSS a besoin d'être mise à jour (version <b>%d</b> à <b>%d</b>)."
+#~ msgid ""
+#~ "Your Tiny Tiny RSS database needs update to the latest version (<b>%d</b> "
+#~ "to <b>%d</b>)."
+#~ msgstr ""
+#~ "La base de données de Tiny Tiny RSS a besoin d'être mise à jour (version "
+#~ "<b>%d</b> à <b>%d</b>)."
 
 #~ msgid "Performing updates..."
 #~ msgstr "Exécution des mises à jour..."
@@ -3701,18 +3594,29 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgstr "ERREUR !"
 
 #~ msgid "Finished. Performed <b>%d</b> update up to schema version <b>%d</b>."
-#~ msgid_plural "Finished. Performed <b>%d</b> updates up to schema version <b>%d</b>."
-#~ msgstr[0] "Terminé. <b>%d</b> modification a été effectuée pour parvenir à la version de schéma <b>%d</b>."
-#~ msgstr[1] "Terminé. <b>%d</b> modifications ont été effectuées pour parvenir à la version de schéma <b>%d</b>."
+#~ msgid_plural ""
+#~ "Finished. Performed <b>%d</b> updates up to schema version <b>%d</b>."
+#~ msgstr[0] ""
+#~ "Terminé. <b>%d</b> modification a été effectuée pour parvenir à la "
+#~ "version de schéma <b>%d</b>."
+#~ msgstr[1] ""
+#~ "Terminé. <b>%d</b> modifications ont été effectuées pour parvenir à la "
+#~ "version de schéma <b>%d</b>."
 
 #~ msgid "Your database schema is from a newer version of Tiny Tiny RSS."
-#~ msgstr "Votre schéma de base de données provient d'une version plus récente de Tiny Tiny RSS."
+#~ msgstr ""
+#~ "Votre schéma de base de données provient d'une version plus récente de "
+#~ "Tiny Tiny RSS."
 
 #~ msgid "Found schema version: <b>%d</b>, required: <b>%d</b>."
 #~ msgstr "Version du schéma trouvée : <b>%d</b>, requise : <b>%d</b>."
 
-#~ msgid "Schema upgrade impossible. Please update Tiny Tiny RSS files to the newer version and continue."
-#~ msgstr "Mise à jour du schéma impossible. Veuillez mettre à jour les fichiers de Tiny Tiny RSS vers une version plus récente et continuer."
+#~ msgid ""
+#~ "Schema upgrade impossible. Please update Tiny Tiny RSS files to the newer "
+#~ "version and continue."
+#~ msgstr ""
+#~ "Mise à jour du schéma impossible. Veuillez mettre à jour les fichiers de "
+#~ "Tiny Tiny RSS vers une version plus récente et continuer."
 
 #~ msgid "Mark feed as read"
 #~ msgstr "Marquer le flux comme lu"
@@ -3720,8 +3624,12 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgid "Enable external API"
 #~ msgstr "Activer les API externes"
 
-#~ msgid "When this option is enabled, headlines in Special feeds and Labels are grouped by feeds"
-#~ msgstr "Avec cette option activée, les entêtes dans les flux spéciaux et par étiquettes sont regroupés par flux"
+#~ msgid ""
+#~ "When this option is enabled, headlines in Special feeds and Labels are "
+#~ "grouped by feeds"
+#~ msgstr ""
+#~ "Avec cette option activée, les entêtes dans les flux spéciaux et par "
+#~ "étiquettes sont regroupés par flux"
 
 #~ msgid "Title or Content"
 #~ msgstr "Titre ou contenu"
@@ -3747,8 +3655,15 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgid "Modify score"
 #~ msgstr "Modifier le score"
 
-#~ msgid "This option is useful when you are reading several planet-type aggregators with partially colliding userbase. When disabled, it forces same posts from different feeds to appear only once."
-#~ msgstr "Cette option est utile si vous lisez des articles venant d'agrégateurs de type «planet», dans lesquels certains flux se recoupent largement. Lorsque cette option est désactivée, les articles en double sont affichés en un seul exemplaire."
+#~ msgid ""
+#~ "This option is useful when you are reading several planet-type "
+#~ "aggregators with partially colliding userbase. When disabled, it forces "
+#~ "same posts from different feeds to appear only once."
+#~ msgstr ""
+#~ "Cette option est utile si vous lisez des articles venant d'agrégateurs de "
+#~ "type «planet», dans lesquels certains flux se recoupent largement. "
+#~ "Lorsque cette option est désactivée, les articles en double sont affichés "
+#~ "en un seul exemplaire."
 
 #~ msgid "Date syntax appears to be correct:"
 #~ msgstr "La syntaxe des dates semble être correcte :"
@@ -3771,7 +3686,8 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgstr "Marquer tous les articles visibles de %s comme lus ?"
 
 #~ msgid "Form secret key incorrect. Please enable cookies and try again."
-#~ msgstr "Clé de formulaire incorecte. Veuillez activer les cookies et réessayer."
+#~ msgstr ""
+#~ "Clé de formulaire incorecte. Veuillez activer les cookies et réessayer."
 
 #~ msgid "Score"
 #~ msgstr "Score"
@@ -3783,7 +3699,8 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgstr "Activer les options voulues avec les cases à cocher sur la droite:"
 
 #~ msgid "New articles available in this feed (click to show)"
-#~ msgstr "Nouveaux articles disponibles dans ce flux (cliquer pour les afficher)"
+#~ msgstr ""
+#~ "Nouveaux articles disponibles dans ce flux (cliquer pour les afficher)"
 
 #~ msgid "Share on identi.ca"
 #~ msgstr "Partager sur identi.ca"
@@ -3815,8 +3732,12 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgid "Back to feeds"
 #~ msgstr "Retour aux flux"
 
-#~ msgid "This will clear your stored authentication information for Twitter. Continue?"
-#~ msgstr "Cela va effacer les informations d'authentification pour Twitter. Voulez-vous continuer ?"
+#~ msgid ""
+#~ "This will clear your stored authentication information for Twitter. "
+#~ "Continue?"
+#~ msgstr ""
+#~ "Cela va effacer les informations d'authentification pour Twitter. Voulez-"
+#~ "vous continuer ?"
 
 #~ msgid "Finished: %d articles processed, %d imported, %d feeds created."
 #~ msgstr "Terminé : %d articles traités, %d importés, %d flux créés."
@@ -3847,7 +3768,8 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgstr "Naviguer dans les articles"
 
 #~ msgid "Mark articles below/above active one as read"
-#~ msgstr "Marquer les articles au-dessous/au-dessus de l'article actif comme lus"
+#~ msgstr ""
+#~ "Marquer les articles au-dessous/au-dessus de l'article actif comme lus"
 
 #~ msgid "Scroll article content"
 #~ msgstr "Faire déflier le contenu de l'article"
@@ -3876,8 +3798,12 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgid "Focus search (if present)"
 #~ msgstr "Focus sur la recherche (si affichée)"
 
-#~ msgid "<b>Note:</b> not all actions may be available, depending on Tiny Tiny RSS configuration and your access level."
-#~ msgstr "<b>Note :</b> certaines actions peuvent ne pas être disponibles, selon la configuration de Tiny Tiny RSS et vos permissions."
+#~ msgid ""
+#~ "<b>Note:</b> not all actions may be available, depending on Tiny Tiny RSS "
+#~ "configuration and your access level."
+#~ msgstr ""
+#~ "<b>Note :</b> certaines actions peuvent ne pas être disponibles, selon la "
+#~ "configuration de Tiny Tiny RSS et vos permissions."
 
 #~ msgid "Open article in new tab"
 #~ msgstr "Ouvrir les articles dans un nouvel onglet"
@@ -3943,7 +3869,9 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgstr "S'inscrire via Twitter"
 
 #~ msgid "Could not connect to Twitter. Refresh the page or try again later."
-#~ msgstr "Impossible de se connecter à Twitter. Rafraichissez la page ou essayez à nouveau plus tard."
+#~ msgstr ""
+#~ "Impossible de se connecter à Twitter. Rafraichissez la page ou essayez à "
+#~ "nouveau plus tard."
 
 #~ msgid "Congratulations! You have successfully registered with Twitter."
 #~ msgstr "Félicitation ! Vous vous êtes inscrit via Twitter avec succès."
@@ -3964,7 +3892,8 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgstr "Aucune catégorie de flux définie."
 
 #~ msgid "<b>Hint:</b> you can drag feeds and categories around."
-#~ msgstr "<b>Astuce :</b> vous pouvez faire glisser les flux et les catagories."
+#~ msgstr ""
+#~ "<b>Astuce :</b> vous pouvez faire glisser les flux et les catagories."
 
 #~ msgid "Subscribing using bookmarklet"
 #~ msgstr "S'abonner via bookmarklet"
@@ -3972,11 +3901,19 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgid "Twitter"
 #~ msgstr "Twitter"
 
-#~ msgid "Before you can update your Twitter feeds, you must register this instance of Tiny Tiny RSS with Twitter.com."
-#~ msgstr "Avant de mettre à jour vos flux Twitter, vous devez enregistrer cette instance de Tiny Tiny RSS avec Twitter.com."
+#~ msgid ""
+#~ "Before you can update your Twitter feeds, you must register this instance "
+#~ "of Tiny Tiny RSS with Twitter.com."
+#~ msgstr ""
+#~ "Avant de mettre à jour vos flux Twitter, vous devez enregistrer cette "
+#~ "instance de Tiny Tiny RSS avec Twitter.com."
 
-#~ msgid "You have been successfully registered with Twitter.com and should be able to access your Twitter feeds."
-#~ msgstr "Vous vous êtes inscrit avec succès sur Twitter.com et vous devriez être en mesure d'accéder à vos flux Twitter."
+#~ msgid ""
+#~ "You have been successfully registered with Twitter.com and should be able "
+#~ "to access your Twitter feeds."
+#~ msgstr ""
+#~ "Vous vous êtes inscrit avec succès sur Twitter.com et vous devriez être "
+#~ "en mesure d'accéder à vos flux Twitter."
 
 #~ msgid "Register with Twitter.com"
 #~ msgstr "S'inscrire sur Twitter.com"
@@ -3993,8 +3930,12 @@ msgstr "La mise à jour en direct est expérimentale. Veuillez sauvegarder votre
 #~ msgid "Filter Test Results"
 #~ msgstr "Résultats du test du filtre"
 
-#~ msgid "When \"Mark as read\" button is clicked in toolbar, automatically open next feed with unread articles."
-#~ msgstr "Lorsque vous cliquez sur « Marquer comme lus », le prochain flux contenant des articles non lus est automatiquement affiché"
+#~ msgid ""
+#~ "When \"Mark as read\" button is clicked in toolbar, automatically open "
+#~ "next feed with unread articles."
+#~ msgstr ""
+#~ "Lorsque vous cliquez sur « Marquer comme lus », le prochain flux "
+#~ "contenant des articles non lus est automatiquement affiché"
 
 #~ msgid "Uses server timezone"
 #~ msgstr "Utilise le fuseau horaire du serveur"
index aa0d5abd568647d94c8c6022005be1d17e4df275..e6d539310cd88f879f1199fb4683e0fbc5c37cdb 100644 (file)
Binary files a/locale/hu_HU/LC_MESSAGES/messages.mo and b/locale/hu_HU/LC_MESSAGES/messages.mo differ
index 25d4a1fec2d8b93f11939cdd25880fe3748b5fd3..06246dd90532313a013e71fb35524efb4f8d950d 100644 (file)
@@ -5,17 +5,18 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: \n"
+"Project-Id-Version: tt-rss-hu\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
-"PO-Revision-Date: 2013-03-26 12:00+0100\n"
-"Last-Translator: Zoltan Faludi <zoltan.faludi@gmail.com>\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
+"PO-Revision-Date: 2013-05-15 01:19+0100\n"
+"Last-Translator: Faludi Zoltán <zoltan.faludi@gmail.com>\n"
 "Language-Team: HUNGARIAN\n"
 "Language: hu_HU\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.5\n"
+"X-Generator: Poedit 1.5.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #: backend.php:73
 msgid "Use default"
@@ -47,7 +48,7 @@ msgstr "3 hónapos"
 
 #: backend.php:82
 msgid "Default interval"
-msgstr "Frissítési intervallum:"
+msgstr "Alapértelmezett időköz"
 
 #: backend.php:83
 #: backend.php:93
@@ -90,8 +91,8 @@ msgid "Weekly"
 msgstr "Heti"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Felhasználó"
 
@@ -112,7 +113,6 @@ msgid "This program requires cookies to function properly. Your browser doesn't
 msgstr "A program működéséhez engedélkyezett sütik szükségesek, úgy tűnik a böngésződ nem támogatja a sütiket."
 
 #: errors.php:15
-#, fuzzy
 msgid "Backend sanity check failed."
 msgstr "Háttér épség ellenőrzés sikertelen"
 
@@ -145,11 +145,8 @@ msgid "Configuration check failed"
 msgstr "Beállításellenőrzés sikertelen."
 
 #: errors.php:31
-#, fuzzy
 msgid "Your version of MySQL is not currently supported. Please see official site for more information."
-msgstr ""
-"A MySQL Ön által használt verziója jelenleg nem támogatott. Kérem teknitse meg \n"
-"\t\ta hivatalos weboldalt további információkért."
+msgstr "A MySQL Ön által használt verziója jelenleg nem támogatott. Kérem tekintse meg a hivatalos weboldalt további információkért."
 
 #: errors.php:35
 msgid "SQL escaping test failed, check your database and PHP configuration"
@@ -158,14 +155,13 @@ msgstr "SQL eszképelési teszt sikertelen, ellenőrizze az adatbázis és a PHP
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -180,14 +176,14 @@ msgstr "SQL eszképelési teszt sikertelen, ellenőrizze az adatbázis és a PHP
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -210,13 +206,13 @@ msgid "All Articles"
 msgstr "Minden hír"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "Csillagozott"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "Publikált"
@@ -228,13 +224,12 @@ msgid "Unread"
 msgstr "Olvasatlan"
 
 #: index.php:170
-#, fuzzy
 msgid "Unread First"
-msgstr "Olvasatlan"
+msgstr "Olvasatlanok előre"
 
 #: index.php:171
 msgid "With Note"
-msgstr ""
+msgstr "Megjegyzéssel"
 
 #: index.php:172
 msgid "Ignore Scoring"
@@ -250,11 +245,11 @@ msgstr "Alapértelmezett"
 
 #: index.php:179
 msgid "Newest first"
-msgstr ""
+msgstr "Újak előre"
 
 #: index.php:180
 msgid "Oldest first"
-msgstr ""
+msgstr "Régiek előre"
 
 #: index.php:181
 msgid "Title"
@@ -262,26 +257,25 @@ msgstr "Cím"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Megjelölés olvasottként"
 
 #: index.php:188
 msgid "Older than one day"
-msgstr ""
+msgstr "Egy napnál régebbi"
 
 #: index.php:191
 msgid "Older than one week"
-msgstr ""
+msgstr "Egy hétnél régebbi"
 
 #: index.php:194
 msgid "Older than two weeks"
-msgstr ""
+msgstr "Két hétnél régebbi"
 
 #: index.php:210
 msgid "Communication problem with server."
@@ -308,7 +302,7 @@ msgid "Feed actions:"
 msgstr "Műveletek hírcsatornákkal:"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Feliratkozás hírcsatornára..."
 
@@ -321,8 +315,8 @@ msgid "Rescore feed"
 msgstr "Hírcsatorna újrapontozása"
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Leiratkozás"
@@ -340,7 +334,7 @@ msgid "Other actions:"
 msgstr "Egyéb műveletek:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 msgid "Toggle widescreen mode"
 msgstr "Szélesvásznú mód váltása"
 
@@ -361,55 +355,50 @@ msgid "Keyboard shortcuts help"
 msgstr "Billentyűparancsok súgója"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Kijelentkezés"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Beállítások"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Billentyűparancsok"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Kilépés a beállításokból"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Hírcsatornák"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Szűrők"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "Címkék"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Felhasználók"
 
-#: prefs.php:132
-#, fuzzy
+#: prefs.php:131
 msgid "System"
-msgstr "Rendszer beépülők"
+msgstr "Rendszer"
 
 #: register.php:184
 #: include/login_form.php:238
@@ -428,13 +417,13 @@ msgstr "Új felhasználók regisztrációja adminisztrátor által letilva."
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Vissza az RSS-olvasóhoz"
 
@@ -451,12 +440,12 @@ msgid "Check availability"
 msgstr "Ellenőrizze, hogy nem foglalt-e már:"
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "E-mail:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "Mennyi kettő meg kettő?"
 
@@ -490,16 +479,16 @@ msgstr "A Tiny Tiny RSS adatbázis frissítő szkript."
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Kategorizálatlan"
 
 #: include/feedbrowser.php:83
-#, fuzzy, php-format
+#, php-format
 msgid "%d archived article"
 msgid_plural "%d archived articles"
 msgstr[0] "%d archivált hír"
@@ -510,307 +499,300 @@ msgid "No feeds found."
 msgstr "Nem található hírcsatorna."
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Kiemelt"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Összes hírcsatorna"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Csillagozott hírek"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Publikált hírek"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Friss hírek"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Az összes hír"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "Archivált hírek"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr "Legutóbb olvasott"
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Navigáció"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 msgid "Open next feed"
 msgstr "Következő hírcsatorna megnyitása"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr "Előző hírcsatorna megnyitása"
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 msgid "Open next article"
 msgstr "Következő hír megnyitása"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 msgid "Open previous article"
 msgstr "Előző hír megjelenítése"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr "Következő hír megnyitása (nem görgeti a hosszú híreket)"
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr "Előző hír megnyitása (nem görgeti a hosszú híreket)"
 
-#: include/functions.php:1964
-#, fuzzy
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
-msgstr "Következő hír megnyitása (nem görgeti a hosszú híreket)"
+msgstr "Ugrás a következő hírre (nem bontja ki vagy jelöli olvasottnak)"
 
-#: include/functions.php:1965
-#, fuzzy
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
-msgstr "Előző hír megnyitása (nem görgeti a hosszú híreket)"
+msgstr "Ugrás az előző hírre (nem bontja ki vagy jelöli olvasottnak)"
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Keresőmező megjelenítése"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 msgid "Article"
 msgstr "Hír"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Csillagoz"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Publikált"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Olvasatlannak jelöl"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Címkék szerkesztése"
 
-#: include/functions.php:1972
-#, fuzzy
+#: include/functions.php:1973
 msgid "Dismiss selected"
-msgstr "Eltávolítja a kijelölt híreket a címke alól?"
+msgstr "Kijelöltek elrejtése"
 
-#: include/functions.php:1973
-#, fuzzy
+#: include/functions.php:1974
 msgid "Dismiss read"
-msgstr "Látható olvasott hírek elrejtése"
+msgstr "Olvasottak elrejtése"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 msgid "Open in new window"
 msgstr "Megnyitás új ablakban"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr "Olvasottnak jel ez alatt"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr "Olvasottnak jel ez fölött"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 msgid "Scroll down"
 msgstr "Legördítés"
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr "Felgördítés"
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 msgid "Select article under cursor"
 msgstr "Az kurzor alatti hír kiválasztása"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr "Hír küldése emailben"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 msgid "Close/collapse article"
 msgstr "Hír bezárása"
 
-#: include/functions.php:1982
-#, fuzzy
+#: include/functions.php:1983
 msgid "Toggle article expansion (combined mode)"
-msgstr "Váltás kombinált módba"
+msgstr "Hír kibontás váltása (kombinált módban)"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 msgid "Toggle embed original"
 msgstr "Eredeti megjelenítésének váltása"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 msgid "Article selection"
 msgstr "Hír kijelölés"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr "Minden hír kijelölése"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 msgid "Select unread"
 msgstr "Olvasatlan hírek kijelölése"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 msgid "Select starred"
 msgstr "Csillagozott hírek kijelölése"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 msgid "Select published"
 msgstr "Publikált hírek kijlölése"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 msgid "Invert selection"
 msgstr "Fordított kijelölés"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 msgid "Deselect everything"
 msgstr "Kijelölés eltávolítása"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Hírcsatorna"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 msgid "Refresh current feed"
 msgstr "Aktuális hírcsatorna frissítése"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 msgid "Un/hide read feeds"
 msgstr "Olvasott hírcsatornák rejtése/mutatása"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Feliratkozás hírcsatornára"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Hírcsatorna szerkesztése"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 msgid "Reverse headlines"
 msgstr "Címek fordított sorrendben"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 msgid "Debug feed update"
 msgstr "Hírcsatorna frissítés hibakaresés"
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Minden hírcsatornát olvasottként jelöl"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 msgid "Un/collapse current category"
 msgstr "Kategória kinyitás/összecsukás"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 msgid "Toggle combined mode"
 msgstr "Váltás kombinált módba"
 
-#: include/functions.php:2003
-#, fuzzy
+#: include/functions.php:2004
 msgid "Toggle auto expand in combined mode"
-msgstr "Váltás kombinált módba"
+msgstr "Automatikus kibontás kombinált módban"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 msgid "Go to"
 msgstr "Ugrás ide"
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr "Friss"
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Címkefelhő"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 msgid "Other"
 msgstr "Egyéb"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Címke létrehozása"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Szűrő létrehozása"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 msgid "Un/collapse sidebar"
 msgstr "Oldalsáv megjelenítés/elrejtés"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 msgid "Show help dialog"
 msgstr "Súgó ablak megjelenítése"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr "Keresési eredmények: %s"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr "-"
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "nincs címke"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Címkék hozzáadása a hírhez"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 msgid "Originally from:"
 msgstr "Eredeti innen:"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr "Hírcsatorna URL"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -820,53 +802,50 @@ msgstr "Hírcsatorna URL"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Ablak bezárása"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr "(jegyzet szerkesztése)"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "ismeretlen hírcsatornatípus"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 msgid "Attachments"
 msgstr "Csatolmányok:"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
-msgstr ""
+msgstr "LibXML hiba %s sor: %d (oszlop: %d): %s"
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Felhasználó:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "Jelszó:"
 
 #: include/login_form.php:199
-#, fuzzy
 msgid "I forgot my password"
-msgstr "Érvénytelen jelszó"
+msgstr "Elfelejtettem a jelszavam"
 
 #: include/login_form.php:205
 msgid "Profile:"
@@ -875,7 +854,7 @@ msgstr "Profil:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "Alapértelmezett profil"
 
@@ -885,15 +864,14 @@ msgstr "Kisebb adatforgalom"
 
 #: include/login_form.php:221
 msgid "Does not display images in articles, reduces automatic refreshes."
-msgstr ""
+msgstr "Nem jeleníti meg a képeket a hírekben, csökkenti az automatikus frissítéseket."
 
 #: include/login_form.php:229
 msgid "Remember me"
-msgstr ""
+msgstr "Emlékezzen rám"
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "Belépés"
 
@@ -910,12 +888,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "A hír címkéi (vesszőkkel elválasztva):"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -925,19 +903,19 @@ msgstr "Mentés"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -946,7 +924,7 @@ msgid "Cancel"
 msgstr "Mégsem"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 msgid "Share with Tiny Tiny RSS"
 msgstr "Megosztás Tiny Tiny RSS-el"
 
@@ -955,8 +933,8 @@ msgid "Title:"
 msgstr "Cím:"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -982,93 +960,90 @@ msgstr "Megosztás"
 msgid "Not logged in"
 msgstr "Nincs belépve"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Hibás felhasználói név vagy jelszó"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Már fel van iratkozva erre a hírcsatornára: <b>%s</b>."
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Feliratkozva erre a hírcsatornára: <b>%s</b>."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Nem lehet feliratkozni ide: <b>%s</b>."
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "Nem található hírcsatorna itt: <b>%s</b>."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 msgid "Multiple feed URLs found."
 msgstr "Több hírcsatorna URL-t találtam."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "Nem lehet feliratkozni ide: <b>%s</b>.<br>Nem lehet betölteni a hícsatorna URL-t."
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr "Feliratkozás a kiválasztott hírcsatornára"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Feliratkozási beállítások szerkesztése"
 
-#: classes/handler/public.php:739
-#, fuzzy
+#: classes/handler/public.php:745
 msgid "Password recovery"
-msgstr "Jelszó"
+msgstr "Jelszó helyreállítás"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
-msgstr ""
+msgstr "Adjon meg érvényes fióknevet és email címet. Az új jelszó a megadott email címre lesz elküldve."
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Jelszó visszaállítás"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
-msgstr ""
+msgstr "Néhány szükséges paraméter hiányzik az űrlapról vagy érvénytelen."
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
-#, fuzzy
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 msgid "Go back"
 msgstr "Visszalépés"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
-msgstr ""
+msgstr "Sajnálom, a belépési és email kombináció nem található."
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "A hozzáférési szinted nem elég magasa script futtatásához"
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Adatbázis-frissítő"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Frissítések végrehajtása"
 
@@ -1135,7 +1110,7 @@ msgstr "Frissíthet a beépített frissítővel a Beállításokban, vagy az upd
 #: classes/dlg.php:245
 #: plugins/updater/init.php:335
 msgid "See the release notes"
-msgstr ""
+msgstr "Olvassa el a kiadási megjegyzéseket"
 
 #: classes/dlg.php:247
 msgid "Download"
@@ -1146,9 +1121,9 @@ msgid "Error receiving version information or no new version available."
 msgstr "Hiba a verzió információ fogadása közben vagy nem érhető el új verzió."
 
 #: classes/feeds.php:56
-#, fuzzy, php-format
+#, php-format
 msgid "Last updated: %s"
-msgstr "Legutóbbi frissítés:"
+msgstr "Legutóbbi frissítés: %s"
 
 #: classes/feeds.php:75
 msgid "View as RSS feed"
@@ -1156,7 +1131,7 @@ msgstr "Megtekintés RSS feedként"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "Megtekintés RSS-ként"
 
@@ -1165,17 +1140,17 @@ msgid "Select:"
 msgstr "Kiválasztás:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "Mind"
@@ -1185,17 +1160,17 @@ msgid "Invert"
 msgstr "Fordított"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "Kijelölés törlése"
@@ -1225,10 +1200,10 @@ msgid "Move back"
 msgstr "Visszalépés"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "Törlés"
 
@@ -1244,159 +1219,155 @@ msgid "Feed:"
 msgstr "Hírcsatorna:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Hírcsatorna nem található"
 
 #: classes/feeds.php:254
-#, fuzzy
 msgid "Never"
-msgstr "Sose töröld a régi híreket"
+msgstr "Soha"
 
 #: classes/feeds.php:360
-#, fuzzy, php-format
+#, php-format
 msgid "Imported at %s"
-msgstr "Importálás"
+msgstr "Importálás %s"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "olvasottként jelöl"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 msgid "Collapse article"
 msgstr "Hír bezárása"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "Nincs megjeleníthető olvasatlan hír."
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "Nincs megjeleníthető friss hír."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "Nincs megjeleníthető csillagozott hír."
 
-#: classes/feeds.php:748
-#, fuzzy
+#: classes/feeds.php:735
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
-msgstr ""
-"A jelenlegi címke alá nincs besorolva egy hír sem.\n"
-"Címkék alá híreket besorolhat manuálisan (lásd a fenti Műveletek menüt) vagy a besoroláshoz használhat Szűrőket."
+msgstr "Nem található megjelenítendő hír. A kiválasztott hírekhez manuálisan is hozzá lehet rendelni címkéket a fejléc helyi menüjéből vagy szűrő használatával."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "Nincs megjeleníthető hír."
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "Hírcsatornák utolsó frissítése: %s"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "Néhány hírcsatorna frissítésével gond akadt. (Kattints ide a részletekhez!)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Nincs kiválasztott hírcsatorna."
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 msgid "Feed or site URL"
 msgstr "Hírcsatorna vagy weboldal URL"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Hozzáadás a következő kategóriához:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "Elérhető hírcsatornák"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Azonosítás"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Belépés"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "Jelszó"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Ez a hírcsatorna azonosítást igényel."
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Feliratkozás"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "További hírcsatornák"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Keresés"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr "Népszerű hírcsatornák"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr "Hírcsatorna archívum"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
 msgstr "határ:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Eltávolít"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "Keresés"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Keresés korlátozása ezekre:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Ez a hírcsatorna"
 
@@ -1468,29 +1439,27 @@ msgid "Processing category: %s"
 msgstr "%s kategória feldolgozása"
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
-msgstr ""
+msgstr "Feltöltés sikertelen. Hibakód: %d"
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
-#, fuzzy
 msgid "Unable to move uploaded file."
-msgstr "Hiba: a hír nem tölthető be."
+msgstr "A feltöltött fájl nem helyezhető át."
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "Hiba: kérem töltse fel az OPML fájlt!"
 
 #: classes/opml.php:492
-#, fuzzy
 msgid "Error: unable to find moved OPML file."
-msgstr "Hiba: a hír nem tölthető be."
+msgstr "Hiba: nem található az áthelyezett OPML fájl."
 
 #: classes/opml.php:499
 #: plugins/googlereaderimport/init.php:186
@@ -1508,7 +1477,7 @@ msgid "User not found"
 msgstr "Felhasználó nem találhat"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Regisztrált"
 
@@ -1524,110 +1493,106 @@ msgstr "Olvasott hírcsatornák száma"
 msgid "Subscribed feeds"
 msgstr "Feliratkozott a következő hírcsatornákra:"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Hozzáférési szint:"
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Jelszó megváltoztatása"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Beállítások"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "E-mail:"
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "A következő felhasználó hozzáadva <b>%s</b> ezzel a jelszóval <b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "A következő felhasználó létrehozása sikertelen <b>%s</b>"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "A következő felhasználó már létezik <b>%s</b>."
 
-#: classes/pref/users.php:273
-#, fuzzy, php-format
+#: classes/pref/users.php:269
+#, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
-msgstr ""
-"<b>%s</b> felhasználó jelszava megváltoztatva \n"
-"\t\t\t\t\t erre: <b>%s</b>"
+msgstr "<b>%s</b> felhasználó jelszava megváltoztatva erre: <b>%s</b>"
 
-#: classes/pref/users.php:275
-#, fuzzy, php-format
+#: classes/pref/users.php:271
+#, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
-msgstr ""
-"<b>%s</b> felhasználó jelszava megváltoztatva \n"
-"\t\t\t\t\t erre: <b>%s</b>"
+msgstr "Új jelszó küldése <b>%s</b> felhasználónak ide: <b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] Értesítés jelszó megváltoztatásáról."
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 msgid "Select"
 msgstr "Kiválasztás"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Felhasználó létrehozás"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "Részletek"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Szerkesztés"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Hozzáférési szint"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Utolsó belépés"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Kattintson ide a szerkesztéshez"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "Nincs megadva felhasználó."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "Nem található a feltételeknek megfelelő felhasználó."
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Cím"
 
@@ -1652,130 +1617,126 @@ msgstr "Címke létrehozva: <b>%s</b>"
 msgid "Clear colors"
 msgstr "Színek visszaállítása"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr "A szűrőnek megfelelő hírek:"
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 msgid "No recent articles matching this filter have been found."
 msgstr "Nem található a feltételeknek megfelelő hír."
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr "Az adatbázis szerver regexp implementációjával kapcsolatos problémák miatt a összetett kifejezések nem biztos, hogy eredményesek lesznek."
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Szabály"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr "Hozzáad"
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 msgid "Apply actions"
 msgstr "Műveletek alkalmazása"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Engedélyezve"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr "Minden szabálynak megfeleljen"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
-#, fuzzy
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 msgid "Inverse matching"
-msgstr "Fordított kijelölés"
+msgstr "Fordított egyezés"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Teszt"
 
-#: classes/pref/filters.php:435
-#, fuzzy
+#: classes/pref/filters.php:433
 msgid "(inverse)"
-msgstr "Fordított"
+msgstr "(fordított)"
 
-#: classes/pref/filters.php:434
-#, fuzzy, php-format
+#: classes/pref/filters.php:432
+#, php-format
 msgid "%s on %s in %s %s"
-msgstr "%s ebben: %s itt: %s"
+msgstr "%s ebben: %s itt: %s %s"
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr "Egyesít"
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "Rendezési sorren visszaállítása"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Hírek újrapontszámozása"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Létrehoz"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
-msgstr ""
+msgstr "Fordított reguláris kifejezés egyezés"
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "...szerepeljen ebben a mezőben: "
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr "itt"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 msgid "Save rule"
 msgstr "Szabály mentés"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 msgid "Add rule"
 msgstr "Szabály hozzáadás"
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Műveletek"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "Beállítás:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 msgid "Save action"
 msgstr "Művelet mentés"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 msgid "Add action"
 msgstr "Művelet hozzáadás"
 
-#: classes/pref/filters.php:966
-#, fuzzy
+#: classes/pref/filters.php:964
 msgid "[No caption]"
-msgstr "Cím"
+msgstr "[Nincs cím]"
 
 #: classes/pref/prefs.php:18
 msgid "General"
@@ -1791,12 +1752,11 @@ msgstr "Speciális"
 
 #: classes/pref/prefs.php:21
 msgid "Digest"
-msgstr ""
+msgstr "Összefoglaló"
 
 #: classes/pref/prefs.php:25
-#, fuzzy
 msgid "Allow duplicate articles"
-msgstr "Dupla postok engedélyezése"
+msgstr "Dupla hírek engedélyezése"
 
 #: classes/pref/prefs.php:26
 msgid "Assign articles to labels automatically"
@@ -1807,16 +1767,14 @@ msgid "Blacklisted tags"
 msgstr "Feketelistás címkék"
 
 #: classes/pref/prefs.php:27
-#, fuzzy
 msgid "When auto-detecting tags in articles these tags will not be applied (comma-separated list)."
-msgstr "Ha a program megtalája ezeket a címkéket a hírekben, kihagyja őket (lista, elemek vesszővel elválasztva)"
+msgstr "Címkék automatikus keresése esetén ezek a címkék nem alkalmazhatók (vesszővel elválasztott lista)."
 
 #: classes/pref/prefs.php:28
 msgid "Automatically mark articles as read"
 msgstr "Hírek megjelölése olvasottként automatikusan"
 
 #: classes/pref/prefs.php:28
-#, fuzzy
 msgid "This option enables marking articles as read automatically while you scroll article list."
 msgstr "Ez a beállítás lehetővé teszi a hírek automatikus olvasottnak jelölését a hír lista görgetése közben."
 
@@ -1841,22 +1799,20 @@ msgid "Amount of articles to display at once"
 msgstr "Ennyi hír jelenjen meg egyszerre"
 
 #: classes/pref/prefs.php:33
-#, fuzzy
 msgid "Default feed update interval"
-msgstr "Frissítési intervallum:"
+msgstr "Alapértelmezett hírcsatorna frissítési időköz:"
 
 #: classes/pref/prefs.php:33
 msgid "Shortest interval at which a feed will be checked for updates regardless of update method"
-msgstr ""
+msgstr "A legkisebb időköz, amelynek letelte után, a frissítési módszertől függetlenül a hírcsatornák frissítve lesznek"
 
 #: classes/pref/prefs.php:34
 msgid "Mark articles in e-mail digest as read"
 msgstr "Az email összefoglalóban elküldött hírek megjelölése hírek olvasottként"
 
 #: classes/pref/prefs.php:35
-#, fuzzy
 msgid "Enable e-mail digest"
-msgstr "Hírösszefoglaló e-mail elküldésének engedélyezése"
+msgstr "Hírösszefoglaló e-mail engedélyezése"
 
 #: classes/pref/prefs.php:35
 msgid "This option enables sending daily digest of new (and unread) headlines on your configured e-mail address"
@@ -1872,11 +1828,11 @@ msgstr "UTC időzónát használ"
 
 #: classes/pref/prefs.php:37
 msgid "Enable API access"
-msgstr ""
+msgstr "API hozzáférés engedélyzése"
 
 #: classes/pref/prefs.php:37
 msgid "Allows external clients to access this account through the API"
-msgstr ""
+msgstr "Engedélyezi a külső kliensek számára a hozzáférést az API-n keresztül ehhez fiókhoz"
 
 #: classes/pref/prefs.php:38
 msgid "Enable feed categories"
@@ -1891,12 +1847,10 @@ msgid "Maximum age of fresh articles (in hours)"
 msgstr "Meddig legyen friss egy hír (órákban megadva)"
 
 #: classes/pref/prefs.php:41
-#, fuzzy
 msgid "Hide feeds with no unread articles"
-msgstr "Olvasatlan hírekkel nem rendelkező hírcsatorna elrejtése"
+msgstr "Olvasatlan hírekkel nem rendelkező hírcsatornák elrejtése"
 
 #: classes/pref/prefs.php:42
-#, fuzzy
 msgid "Show special feeds when hiding read feeds"
 msgstr "Különleges hírcsatornák mutatása olvasott hírcsatornák rejtésekor"
 
@@ -1921,7 +1875,6 @@ msgid "Purge unread articles"
 msgstr "Régi hírek törlésekor törölje az olvasatlanokat is"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "Fordított hírcím-sorrend (régiebbiek előbb)"
 
@@ -1962,7 +1915,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr "Hírek olvasásakor távolítsa el a a HTML kódokat a leggyakrabban használtak kivételével."
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "Stíluslap testreszabása"
 
@@ -1971,9 +1924,8 @@ msgid "Customize CSS stylesheet to your liking"
 msgstr "Saját ízlése szerint testreszabhatja a CSS stíluslapot"
 
 #: classes/pref/prefs.php:55
-#, fuzzy
 msgid "Time zone"
-msgstr "Felhasználó időzónája"
+msgstr "Időzóna"
 
 #: classes/pref/prefs.php:56
 msgid "Group headlines in virtual feeds"
@@ -1981,20 +1933,19 @@ msgstr "Hírcímek csoportosítása virtuális hírcsatornákba"
 
 #: classes/pref/prefs.php:56
 msgid "Special feeds, labels, and categories are grouped by originating feeds"
-msgstr ""
+msgstr "Speciális hírcsatornák, címkék és kategóriák az eredeti hírcsatornák szerint csoportosítva"
 
 #: classes/pref/prefs.php:57
-#, fuzzy
 msgid "Language"
-msgstr "Nyelv:"
+msgstr "Nyelv"
 
 #: classes/pref/prefs.php:58
 msgid "Theme"
-msgstr ""
+msgstr "Téma"
 
 #: classes/pref/prefs.php:58
 msgid "Select one of the available CSS themes"
-msgstr ""
+msgstr "Válasszon egyet az elérhető CSS témák közül"
 
 #: classes/pref/prefs.php:69
 msgid "Old password cannot be blank."
@@ -2027,7 +1978,7 @@ msgstr "A személyes adatai el lettek mentve."
 
 #: classes/pref/prefs.php:176
 msgid "Your preferences are now set to default values."
-msgstr ""
+msgstr "A beállításai vissza lettek állítva az alapértékekre."
 
 #: classes/pref/prefs.php:198
 msgid "Personal data / Authentication"
@@ -2059,7 +2010,7 @@ msgstr "A jelszava még az alapértelmezett, kérem változtassa meg."
 
 #: classes/pref/prefs.php:294
 msgid "Changing your current password will disable OTP."
-msgstr ""
+msgstr "A jelenlegi jelszó megváltoztatása letiltja az OTP-t."
 
 #: classes/pref/prefs.php:299
 msgid "Old password"
@@ -2083,7 +2034,7 @@ msgstr "Egyszer használatos jelszavak / Hitelesítő"
 
 #: classes/pref/prefs.php:327
 msgid "One time passwords are currently enabled. Enter your current password below to disable."
-msgstr ""
+msgstr "Az egyszer használatos jelszavak jelenleg engedélyezettek. A letiltáshoz adja meg a jelenlegi jelszavát."
 
 #: classes/pref/prefs.php:352
 #: classes/pref/prefs.php:403
@@ -2103,9 +2054,8 @@ msgid "Scan the following code by the Authenticator application:"
 msgstr "Szkennelje be a következő kódot a Hitelesítő alkalmazással:"
 
 #: classes/pref/prefs.php:408
-#, fuzzy
 msgid "Enter the generated one time password"
-msgstr "Adja meg az egyszer használatos jelszót:"
+msgstr "Adja meg az egyszer használatos jelszót"
 
 #: classes/pref/prefs.php:422
 msgid "Enable OTP"
@@ -2113,11 +2063,11 @@ msgstr "OTP engedélyezése"
 
 #: classes/pref/prefs.php:428
 msgid "PHP GD functions are required for OTP support."
-msgstr ""
+msgstr "Az OTP támogatáshoz a PHP GD függvények szükségesek."
 
 #: classes/pref/prefs.php:471
 msgid "Some preferences are only available in default profile."
-msgstr ""
+msgstr "Néhány beállítás csak az alapértelmezett profilban érhető el."
 
 #: classes/pref/prefs.php:569
 msgid "Customize"
@@ -2141,9 +2091,8 @@ msgid "Save configuration"
 msgstr "Beállítások mentése"
 
 #: classes/pref/prefs.php:675
-#, fuzzy
 msgid "Save and exit preferences"
-msgstr "Kilépés a beállításokból"
+msgstr "Mentés és kilépés a beállításokból"
 
 #: classes/pref/prefs.php:680
 msgid "Manage profiles"
@@ -2154,89 +2103,87 @@ msgid "Reset to defaults"
 msgstr "Alapértelmezett beállítások"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr "Beépülők"
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
-msgstr ""
+msgstr "A beépülők változtatásainak érvényesítéséhez újra kell tölteni a Tiny Tiny RSS-t."
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
-msgstr ""
+msgstr "További beépülők letölthetők a tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">fórumairól</a> vagy a <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wikiről</a>."
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr "Rendszer beépülők"
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr "Beépülő"
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 msgid "Description"
 msgstr "Leírás"
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr "Verzió"
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr "Szerző"
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
-msgstr ""
+msgstr "további infó"
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 msgid "Clear data"
 msgstr "Adatok törlése"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr "Felhasználói beépülők"
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 msgid "Enable selected plugins"
 msgstr "Kiválasztott beépülők engedélyezése"
 
-#: classes/pref/prefs.php:922
-#, fuzzy
+#: classes/pref/prefs.php:920
 msgid "Incorrect one time password"
-msgstr "Érvénytelen jelszó"
+msgstr "Érvénytelen egyszer használatos jelszó"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 msgid "Incorrect password"
 msgstr "Érvénytelen jelszó"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr "Egyéni CSS deklarációkkal itt felülbírálhatja a kiválasztott téma színeit, betűtípusait és elrendezését. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">Ez a fájl</a> használható kiindulásként."
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "Profil létrehozás"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(aktív)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "Eltávolítja a kiválasztott profilokat?"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "Profil aktiválás"
 
@@ -2244,280 +2191,250 @@ msgstr "Profil aktiválás"
 msgid "Check to enable field"
 msgstr "Jelölje be a mező engedélyezéséhez"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "Hírcsatorna címe"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Frissítés"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Régi hírek törlése:"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr "<b>Megjegyzés:</b> ha a hírcsatorna megköveteli a hitelesítést (kivéve a Twitter csatornákat), ki kell tölteni a bejelentkezési információkat."
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "Elrejtés a Népszerű hírcsatornákból"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "Hozzáadás az e-mail összefoglalóhoz"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Kép csatolmányokat mindig jelenítse meg"
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr "Ne ágyazza be a képeket"
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Képek helyi tárolása"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "Frissült hírek megjelölése olvasatlanként"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr "Ikon"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "Csere"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr "Újra feliratkozás a push frissítésekre"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr "Visszaállítja a PubSubHubbub feliratkozást a push-engedélyezett hírcsatornákhoz."
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Kész."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "Hibás hírcsatornák"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 msgid "Inactive feeds"
 msgstr "Inaktív hírcsatornák"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "Kijelölt hírcsatornák szerkeztése"
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr "Kötegelt feliratkozás"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 msgid "Categories"
 msgstr "Kategóriák"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 msgid "Add category"
 msgstr "Kategória hozzáadás"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 msgid "Remove selected"
 msgstr "Kijelölt eltávolítása"
 
-#: classes/pref/feeds.php:1361
-msgid "(Un)hide empty categories"
-msgstr "Üres kategóriák elrejtése/megjelenítése"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "További műveletek..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Kézi takarítás (régi hírek törlése)"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Hírcsatorna-adatok törlése"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr "Az OPML használatával hírcsatornákat, szűrőket, címkéket és beállításokat exportálhat, importálhat."
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr "Csak a fő beállításprofilt lehet OPML használatával költöztetni."
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 msgid "Import my OPML"
 msgstr "OPML importálása"
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr "Fájlnév:"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
 msgstr "Beállításokkal együtt"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 msgid "Export OPML"
 msgstr "Exportálás OPML-be"
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr "Az OPML nyilvánosságra hozható és bárki feliratkozhat rá, aki ismeri az alábbi URL-t."
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr "A publikált OPML nem tartalmazza a beállításokat, az azonosítást igénylő hírcsatornákat és az Népszerű hírcsatornákból elrejtetteket."
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr "Publikus OPML URL"
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr "Publikált OPML URL mejelenítése"
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr "Firefox integráció"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr "Ez a Tiny Tiny RSS oldal beállítható a Firefox böngésző alapértelmezett hírcsatorna-olvasójaként. Ehhez kattintson az alábbi linkre!"
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Kattintson ide az oldal hírcsatorna-olvasóként való beállításához!"
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 msgid "Published & shared articles / Generated feeds"
 msgstr "Publikált és megosztott hírek / Generált hírcsatornák"
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr "Publikált hírek és generált hírcsatornák"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr "A program a publikált hírekből egy publikus RSS hírcsatornát készít, amelyre bárki feliratkozhat, aki tudja a lenti címet."
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr "URL megjelenítés"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr "Minden generált URL törlése"
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr "URL alapján megosztott hírek"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr "Itt minden egyedi URL-el megosztott hírt le lehet tiltani."
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 msgid "Unshare all articles"
 msgstr "Minden hír megosztásának visszavonása"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "Ezek a hírcsatornák 3 hónapja nem frissültek új tartalommal (régebbiek elöl):"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "Kattintson a hírcsatorna szerkesztéséhez"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "Leiratkozás a kiválasztott hírcsatornákról"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Váratlan hibák miatt ezek a hírcsatornák nem frissültek:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr "Soronként egy érvényes RSS hírcsatornát adjon meg"
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr "Feliratkozás hírcsatornákra, soronként egy"
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr "Ez a hírcsatorna azonosítást igényel."
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
-msgstr ""
+msgstr "Hibanapló"
 
-#: classes/pref/system.php:36
-#, fuzzy
+#: classes/pref/system.php:40
 msgid "Refresh"
-msgstr "Friss"
+msgstr "Frissítés"
+
+#: classes/pref/system.php:43
+msgid "Clear log"
+msgstr "Napló törlés"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:48
 msgid "Error"
-msgstr ""
+msgstr "Hiba"
 
-#: classes/pref/system.php:42
-#, fuzzy
+#: classes/pref/system.php:49
 msgid "Filename"
-msgstr "Fájlnév:"
+msgstr "Fájlnév"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
-msgstr ""
+msgstr "Üzenet"
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "Dátum"
 
-#: plugins/digest/digest_body.php:57
-#, fuzzy
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr ""
-"A böngészője nem támogatja a Javascriptet, amely szükséges\n"
-"\t\t\taz alakalmazás megfelelő működéséhez. Kérem ellenőrizze\n"
-"\t\t\tböngészője beállításait."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Üdv,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr "Alap változat"
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr "Hír bezárása"
@@ -2551,62 +2468,6 @@ msgstr "A jelszó megváltoztatva."
 msgid "Old password is incorrect."
 msgstr "A régi jelszó helytelen."
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr "Kezdőlap"
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr "Semmit sem találtam (kattintson az újratöltéshez)."
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr "Szokásos verzió használata"
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr "Kategóriák engedélyezése"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr "BE"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr "KI"
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr "Tallózás a kategóriákban mint a könyvtárakban"
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr "Képek mejelenítése a hírekben"
-
-#: plugins/mobile/prefs.php:46
-msgid "Hide read articles and feeds"
-msgstr "Olvasott hírek és hírcsatornák elrejtése"
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr "Hírcsatornák rendezése olvasatlan hírek száma szerint"
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2637,7 +2498,7 @@ msgstr "Ablak bezárása"
 
 #: plugins/bookmarklets/init.php:20
 msgid "Bookmarklets"
-msgstr ""
+msgstr "Bookmarkletek"
 
 #: plugins/bookmarklets/init.php:22
 msgid "Drag the link below to your browser toolbar, open the feed you're interested in in your browser and click on the link to subscribe to it."
@@ -2648,25 +2509,21 @@ msgstr "Húzza a linket a böngésző eszköztára alá, nyissa meg a böngész
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "Feliratkozás %s hírcsatornára a Tiny Tiny RSS-ben?"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Feliratkozás a Tiny Tiny RSS-ben?"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
-msgstr ""
+msgstr "Használja ezt a bookmarkletet tetszőleges oldalak közzétételére a Tiny Tiny RSS használatával"
 
 #: plugins/import_export/init.php:58
 msgid "Import and export"
 msgstr "Import és export"
 
 #: plugins/import_export/init.php:60
-msgid "Article archive"
-msgstr "Hír archívum"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
-msgstr "A biztonság kedvéért exportálhatja és importálhatja a csillagozott és az archivált híreket a tt-rss költözések között."
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
+msgstr "Lehetőség van a a csillagozott és az archivált hírek exportálására és importálására, ami biztonsági mentéshez vagy azonos verziójú tt-rss példányok közötti migrációra használható."
 
 #: plugins/import_export/init.php:65
 msgid "Export my data"
@@ -2676,51 +2533,51 @@ msgstr "Adataim expotálása"
 msgid "Import"
 msgstr "Importálás"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr "Nem sikerült az importálás: érvénytelen séma verzió."
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr "Nem sikerült az importálás: ismeretlen dokumentum formátum."
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
-msgstr ""
+msgstr "Befejezve:"
 
-#: plugins/import_export/init.php:382
-#, fuzzy, php-format
+#: plugins/import_export/init.php:384
+#, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
-msgstr[0] "Megjegyzés"
-msgstr[1] "Megjegyzés"
+msgstr[0] "%d hír feldolgozva,"
+msgstr[1] "%d hír feldolgozva,"
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d importálva,"
+msgstr[1] "%d importálva,"
 
-#: plugins/import_export/init.php:384
-#, fuzzy, php-format
+#: plugins/import_export/init.php:386
+#, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
-msgstr[0] "Nincs kiválasztott hírcsatorna."
-msgstr[1] "Nincs kiválasztott hírcsatorna."
+msgstr[0] "%d hírcsatorna létrehozva."
+msgstr[1] "%d hírcsatorna létrehozva."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr "Az XML dokumentum nem tölthető be."
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr "Adatok előkészítése"
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
-msgstr ""
+msgstr "Nincs felöltött fájl."
 
 #: plugins/mail/init.php:85
 msgid "From:"
@@ -2743,47 +2600,35 @@ msgstr "Email küldés"
 msgid "Edit article note"
 msgstr "Megjegyzés"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr "Példa ablak"
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr "Példa érték"
-
-#: plugins/example/init.php:73
-msgid "Set value"
-msgstr "Érték megadás"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
-msgstr ""
+msgstr "Minden kész. %d-ből %d hír importálva."
 
 #: plugins/googlereaderimport/init.php:182
 msgid "The document has incorrect format."
-msgstr ""
+msgstr "Érvénytelen dokumentum formátum."
 
 #: plugins/googlereaderimport/init.php:353
 msgid "Import starred or shared items from Google Reader"
-msgstr ""
+msgstr "Csillagozott vagy megosztott elemek importálása a Google Readerből"
 
 #: plugins/googlereaderimport/init.php:357
 msgid "Paste your starred.json or shared.json into the form below."
-msgstr ""
+msgstr "Illessze be a starred.json vagy a shared.json fájl az alábbi űrlapba."
 
 #: plugins/googlereaderimport/init.php:371
 msgid "Import my Starred items"
-msgstr ""
+msgstr "Csillagozott elemeim importálása"
 
 #: plugins/instances/init.php:141
 msgid "Linked"
-msgstr "Linkelt"
+msgstr "Összekapcsolás"
 
 #: plugins/instances/init.php:204
 #: plugins/instances/init.php:395
 msgid "Instance"
-msgstr "Pédány"
+msgstr "Példány"
 
 #: plugins/instances/init.php:215
 #: plugins/instances/init.php:312
@@ -2805,7 +2650,7 @@ msgstr "Hozzáférési kulcs"
 #: plugins/instances/init.php:233
 #: plugins/instances/init.php:421
 msgid "Use one access key for both linked instances."
-msgstr "Egy hozzáférési kulcs használata minden linkelt példányhoz."
+msgstr "Egy hozzáférési kulcs használata minden összekapcsolt példányhoz."
 
 #: plugins/instances/init.php:241
 #: plugins/instances/init.php:429
@@ -2814,7 +2659,7 @@ msgstr "Új kulcs generálása"
 
 #: plugins/instances/init.php:292
 msgid "Link instance"
-msgstr "Link példány"
+msgstr "Példány összekapcsolás"
 
 #: plugins/instances/init.php:304
 msgid "You can connect other instances of Tiny Tiny RSS to this one to share Popular feeds. Link to this instance of Tiny Tiny RSS by using this URL:"
@@ -2855,21 +2700,20 @@ msgid "Your Tiny Tiny RSS installation is up to date."
 msgstr "A Tiny Tiny RSS telepítés naprakész."
 
 #: plugins/updater/init.php:349
-#, fuzzy
 msgid "Do not close this dialog until updating is finished."
-msgstr "Ne zárja be amíg a frissítés be nem fejeződik. A folytatás előtt mentse el a tt-rss könyvtárának tartalmát."
+msgstr "Ne zárja be az ablakot amíg a frissítés be nem fejeződik."
 
 #: plugins/updater/init.php:358
 msgid "It is suggested to backup your tt-rss directory first."
-msgstr ""
+msgstr "Ajánlott a tt-rss könyvtárának biztonsági mentése."
 
 #: plugins/updater/init.php:359
 msgid "Your database will not be modified."
-msgstr ""
+msgstr "Az adatbázis nem lesz módosítva."
 
 #: plugins/updater/init.php:360
 msgid "Your current tt-rss installation directory will not be modified. It will be renamed and left in the parent directory. You will be able to migrate all your customized files after update finishes."
-msgstr ""
+msgstr "Az aktuális tt-rss telepítési könyvtár nem lesz módosítva. Átnevezésre kerül és a szülő könyvtárban marad. A frissítés után lehetőség van az összes testre-szabott fájl migrálására az új rendszerbe."
 
 #: plugins/updater/init.php:361
 msgid "Ready to update."
@@ -2879,61 +2723,54 @@ msgstr "Frissítésre kész."
 msgid "Start update"
 msgstr "Frissítés indtása"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Minden hírt megjelöl olvasottként itt: %s?"
 
-#: js/feedlist.js:414
-#, fuzzy
+#: js/feedlist.js:416
 msgid "Mark all articles in %s older than 1 day as read?"
-msgstr "Minden hírt megjelöl olvasottként itt: %s?"
+msgstr "Minden 1 napnál régebbi %s hírt megjelöl olvasottként?"
 
-#: js/feedlist.js:417
-#, fuzzy
+#: js/feedlist.js:419
 msgid "Mark all articles in %s older than 1 week as read?"
-msgstr "Minden hírt megjelöl olvasottként itt: %s?"
+msgstr "Minden 1 hétnél régebbi %s hírt megjelöl olvasottként?"
 
-#: js/feedlist.js:420
-#, fuzzy
+#: js/feedlist.js:422
 msgid "Mark all articles in %s older than 2 weeks as read?"
-msgstr "Minden hírt megjelöl olvasottként itt: %s?"
+msgstr "Minden 2 hétnél régebbi %s hírt megjelöl olvasottként?"
 
 #: js/functions.js:65
 msgid "The error will be reported to the configured log destination."
-msgstr ""
+msgstr "A hiba a beállított naplóhelyre lesz jelentve."
 
 #: js/functions.js:107
 msgid "Are you sure to report this exception to tt-rss.org? The report will include your browser information. Your IP would be saved in the database."
 msgstr "Biztos, hogy be akarja jelenteni ezt a hibát a tt-rss.org oldalon? A jelentés tartalmazni a fogja a böngésző információit. Az IP címe el lesz tárolva az adatbázisban."
 
 #: js/functions.js:236
-#, fuzzy
 msgid "Click to close"
-msgstr "Kattintson a megállításhoz"
+msgstr "Kattintson a bezáráshoz"
 
 #: js/functions.js:612
 msgid "Error explained"
-msgstr ""
+msgstr "Hiba magyarázata"
 
 #: js/functions.js:694
 msgid "Upload complete."
-msgstr ""
+msgstr "Feltöltés kész"
 
 #: js/functions.js:718
 msgid "Remove stored feed icon?"
 msgstr "Eltávolítja a hírcsatorna tárolt ikonját?"
 
 #: js/functions.js:723
-#, fuzzy
 msgid "Removing feed icon..."
-msgstr "Eltávolítja a hírcsatorna tárolt ikonját?"
+msgstr "Hírcsatorna ikon eltávolítása..."
 
 #: js/functions.js:728
-#, fuzzy
 msgid "Feed icon removed."
-msgstr "Hírcsatorna nem található"
+msgstr "Hírcsatorna ikon eltávolítva."
 
 #: js/functions.js:750
 msgid "Please select an image file to upload."
@@ -2944,13 +2781,12 @@ msgid "Upload new icon for this feed?"
 msgstr "Új ikon tölt fel ehhez a hírcsatornához?"
 
 #: js/functions.js:753
-#, fuzzy
 msgid "Uploading, please wait..."
-msgstr "Betöltés, kérem várjon..."
+msgstr "Feltöltés, kérem várjon..."
 
 #: js/functions.js:769
 msgid "Please enter label caption:"
-msgstr "Adja meg  címke nevét:"
+msgstr "Adja meg a címke nevét:"
 
 #: js/functions.js:774
 msgid "Can't create label: missing caption."
@@ -2973,9 +2809,8 @@ msgid "Specified URL doesn't seem to contain any feeds."
 msgstr "A megadott URL nem tartalmaz hírcsatornákat."
 
 #: js/functions.js:862
-#, fuzzy
 msgid "Expand to select feed"
-msgstr "Kijelölt hírcsatornák szerkeztése"
+msgstr "Kibontás a hírcsatorna kiválasztásához"
 
 #: js/functions.js:874
 msgid "Couldn't download the specified URL: %s"
@@ -2983,7 +2818,7 @@ msgstr "A megadott URL nem tölthető be: %s"
 
 #: js/functions.js:878
 msgid "XML validation failed: %s"
-msgstr ""
+msgstr "XML ellenőrzés sikertelen: %s"
 
 #: js/functions.js:883
 msgid "You are already subscribed to this feed."
@@ -3006,18 +2841,17 @@ msgid "Reset subscription? Tiny Tiny RSS will try to subscribe to the notificati
 msgstr "Feliratkozás visszaállítása? a következő frissítéskor Tiny Tiny RSS megpróbál automatikusan újra feliratkozni."
 
 #: js/functions.js:1202
-#, fuzzy
 msgid "Subscription reset."
-msgstr "Feliratkozás hírcsatornára..."
+msgstr "Feliratkozás visszaállítás."
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "Leiratkozik innen: %s?"
 
 #: js/functions.js:1215
 msgid "Removing feed..."
-msgstr ""
+msgstr "Hírcsatorna eltávolítás..."
 
 #: js/functions.js:1324
 msgid "Please enter category title:"
@@ -3030,11 +2864,11 @@ msgstr "Új hírszolgáltatási cím generálásása ehhez a hírcsatornához?"
 #: js/functions.js:1359
 #: js/prefs.js:1231
 msgid "Trying to change address..."
-msgstr ""
+msgstr "Cím cseréje..."
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "Ezt a hírcsatornatípust nem szerkesztheted."
 
@@ -3045,9 +2879,8 @@ msgstr "Hírcsatorna szerkesztése"
 #: js/functions.js:1567
 #: js/prefs.js:194
 #: js/prefs.js:749
-#, fuzzy
 msgid "Saving data..."
-msgstr "Adatok mentése"
+msgstr "Adatok mentése..."
 
 #: js/functions.js:1599
 msgid "More Feeds"
@@ -3080,9 +2913,8 @@ msgstr "Eltávolítja a kiválasztott hírcsatornákat?"
 
 #: js/functions.js:1755
 #: js/prefs.js:1192
-#, fuzzy
 msgid "Removing selected feeds..."
-msgstr "Eltávolítja a kiválasztott hírcsatornákat?"
+msgstr "Kiválasztott hírcsatornák eltávolítása..."
 
 #: js/functions.js:1853
 msgid "Help"
@@ -3109,9 +2941,8 @@ msgid "Can't create user: no login specified."
 msgstr "Felhasználó létrehozása sikertelen, nincs megadva felhasználói név."
 
 #: js/prefs.js:66
-#, fuzzy
 msgid "Adding user..."
-msgstr "Szűrő hozzáadása..."
+msgstr "Felhasználó hozzáadása..."
 
 #: js/prefs.js:94
 msgid "User Editor"
@@ -3126,18 +2957,16 @@ msgid "Remove filter?"
 msgstr "Eltávolítja szűrőt?"
 
 #: js/prefs.js:169
-#, fuzzy
 msgid "Removing filter..."
-msgstr "Szűrő hozzáadása..."
+msgstr "Szűrő eltávolítása..."
 
 #: js/prefs.js:279
 msgid "Remove selected labels?"
 msgstr "Eltávolítja a kiválasztott címkéket?"
 
 #: js/prefs.js:282
-#, fuzzy
 msgid "Removing selected labels..."
-msgstr "Eltávolítja a kiválasztott címkéket?"
+msgstr "Kiválasztott címkék eltávolítása..."
 
 #: js/prefs.js:295
 #: js/prefs.js:1393
@@ -3149,9 +2978,8 @@ msgid "Remove selected users? Neither default admin nor your account will be rem
 msgstr "Eltávolítja a kijelölt felhasználókat? Az alapértelmezett admin és az ön fiókja nem lesz törölve."
 
 #: js/prefs.js:312
-#, fuzzy
 msgid "Removing selected users..."
-msgstr "Eltávolítja a kiválasztott szűrőket?"
+msgstr "Kiválasztott felhasználók eltávolítása..."
 
 #: js/prefs.js:326
 #: js/prefs.js:507
@@ -3165,9 +2993,8 @@ msgid "Remove selected filters?"
 msgstr "Eltávolítja a kiválasztott szűrőket?"
 
 #: js/prefs.js:347
-#, fuzzy
 msgid "Removing selected filters..."
-msgstr "Eltávolítja a kiválasztott szűrőket?"
+msgstr "Kiválasztott szűrők eltávolítása..."
 
 #: js/prefs.js:359
 #: js/prefs.js:597
@@ -3180,9 +3007,8 @@ msgid "Unsubscribe from selected feeds?"
 msgstr "Leiratkozik a kiválasztott hírcsatornákról?"
 
 #: js/prefs.js:382
-#, fuzzy
 msgid "Unsubscribing from selected feeds..."
-msgstr "Leiratkozás a kiválasztott hírcsatornákról"
+msgstr "Leiratkozás a kiválasztott hírcsatornákról..."
 
 #: js/prefs.js:412
 msgid "Please select only one feed."
@@ -3193,27 +3019,24 @@ msgid "Erase all non-starred articles in selected feed?"
 msgstr "Eltávolítja az összes csillag nélküli hírt a kijelölt hírcsatornából?"
 
 #: js/prefs.js:421
-#, fuzzy
 msgid "Clearing selected feed..."
-msgstr "Kijelölt hírcsatornák szerkeztése"
+msgstr "Kijelölt hírcsatorna törlése..."
 
 #: js/prefs.js:440
 msgid "How many days of articles to keep (0 - use default)?"
-msgstr "Milyen régi híreket szeretne megtartani  (napokban; 0 - alapértelmezett)?"
+msgstr "Milyen régi híreket szeretne megtartani (napokban; 0 - alapértelmezett)?"
 
 #: js/prefs.js:443
-#, fuzzy
 msgid "Purging selected feed..."
-msgstr "Kijelölt hírcsatornák szerkeztése"
+msgstr "Kijelölt hírcsatorna tisztítása..."
 
 #: js/prefs.js:478
 msgid "Login field cannot be blank."
 msgstr "A felhasználói név nem maradhat üresen."
 
 #: js/prefs.js:482
-#, fuzzy
 msgid "Saving user..."
-msgstr "Szűrő hozzáadása..."
+msgstr "Felhasználó mentése..."
 
 #: js/prefs.js:512
 #: js/prefs.js:533
@@ -3223,12 +3046,11 @@ msgstr "Kérem csak egy felhasználót jelöljön meg!"
 
 #: js/prefs.js:537
 msgid "Reset password of selected user?"
-msgstr "Visszaállítja  akiválasztott felhasználók jelszavakit?"
+msgstr "Visszaállítja a kiválasztott felhasználók jelszavait?"
 
 #: js/prefs.js:540
-#, fuzzy
 msgid "Resetting password for selected user..."
-msgstr "Visszaállítja  akiválasztott felhasználók jelszavakit?"
+msgstr "A kiválasztott felhasználó jelszavának visszaállítása..."
 
 #: js/prefs.js:585
 msgid "User details"
@@ -3243,9 +3065,8 @@ msgid "Combine selected filters?"
 msgstr "Egyesíti a kiválasztott szűrőket?"
 
 #: js/prefs.js:623
-#, fuzzy
 msgid "Joining filters..."
-msgstr "Szűrő hozzáadása..."
+msgstr "Szűrők egyesítése..."
 
 #: js/prefs.js:684
 msgid "Edit Multiple Feeds"
@@ -3266,9 +3087,8 @@ msgstr "Először válasszon egy OPML fjlt."
 #: js/prefs.js:815
 #: plugins/import_export/import_export.js:115
 #: plugins/googlereaderimport/init.js:45
-#, fuzzy
 msgid "Importing, please wait..."
-msgstr "Betöltés, kérem várjon..."
+msgstr "Importálás, kérem várjon..."
 
 #: js/prefs.js:982
 msgid "Reset to defaults?"
@@ -3279,18 +3099,16 @@ msgid "Remove category %s? Any nested feeds would be placed into Uncategorized."
 msgstr "Eltávolítja %s kategóriát? Minden tartalmazott hírcsatorna a Kategorizálatlanba fog kerülni."
 
 #: js/prefs.js:1102
-#, fuzzy
 msgid "Removing category..."
-msgstr "Kategória eltávolítása"
+msgstr "Kategória eltávolítása..."
 
 #: js/prefs.js:1123
 msgid "Remove selected categories?"
 msgstr "Kiválasztott kategóriák eltávolítása?"
 
 #: js/prefs.js:1126
-#, fuzzy
 msgid "Removing selected categories..."
-msgstr "Kiválasztott kategóriák eltávolítása?"
+msgstr "Kiválasztott kategóriák eltávolítása..."
 
 #: js/prefs.js:1139
 msgid "No categories are selected."
@@ -3301,9 +3119,8 @@ msgid "Category title:"
 msgstr "Kategória címe:"
 
 #: js/prefs.js:1151
-#, fuzzy
 msgid "Creating category..."
-msgstr "Szűrő létrehozása..."
+msgstr "Kategória létrehozása..."
 
 #: js/prefs.js:1178
 msgid "Feeds without recent updates"
@@ -3314,27 +3131,24 @@ msgid "Replace current OPML publishing address with a new one?"
 msgstr "Lecseréli a jelenlegi OPML hírcsatornája címét egy újra?"
 
 #: js/prefs.js:1316
-#, fuzzy
 msgid "Clearing feed..."
-msgstr "Hírcsatorna-adatok törlése"
+msgstr "Hírcsatorna törlése..."
 
 #: js/prefs.js:1336
 msgid "Rescore articles in selected feeds?"
 msgstr "Újrapontszámozza a híreket a kijelölt hírcsatornákban?"
 
 #: js/prefs.js:1339
-#, fuzzy
 msgid "Rescoring selected feeds..."
-msgstr "Újrapontszámozza a híreket a kijelölt hírcsatornákban?"
+msgstr "Kijelölt hírcsatornák újrapontozása..."
 
 #: js/prefs.js:1359
 msgid "Rescore all articles? This operation may take a lot of time."
 msgstr "Újrapontoz minden cíkket? Ez a művelet hosszú ideig is eltarthat."
 
 #: js/prefs.js:1362
-#, fuzzy
 msgid "Rescoring feeds..."
-msgstr "Hírcsatorna újrapontozása"
+msgstr "Hírcsatornák újrapontozása"
 
 #: js/prefs.js:1379
 msgid "Reset selected labels to default colors?"
@@ -3349,9 +3163,8 @@ msgid "Remove selected profiles? Active and default profiles will not be removed
 msgstr "Eltávolítja a kijelölt profilokat? Az aktív és az alapértelmezett profil nem lesz törölve."
 
 #: js/prefs.js:1428
-#, fuzzy
 msgid "Removing selected profiles..."
-msgstr "Eltávolítja a kiválasztott profilokat?"
+msgstr "Kiválasztott profilok eltávolítása..."
 
 #: js/prefs.js:1443
 msgid "No profiles are selected."
@@ -3368,9 +3181,8 @@ msgid "Please choose a profile to activate."
 msgstr "Válasszon egy aktiválandó profilt."
 
 #: js/prefs.js:1472
-#, fuzzy
 msgid "Creating profile..."
-msgstr "Profil létrehozás"
+msgstr "Profil létrehozás..."
 
 #: js/prefs.js:1528
 msgid "This will invalidate all previously generated feed URLs. Continue?"
@@ -3379,12 +3191,11 @@ msgstr "Ez érvényteleníteni fog minden korábban generált hírcsatorna URL-t
 #: js/prefs.js:1531
 #: js/prefs.js:1550
 msgid "Clearing URLs..."
-msgstr ""
+msgstr "URL-ek törlése..."
 
 #: js/prefs.js:1538
-#, fuzzy
 msgid "Generated URLs cleared."
-msgstr "Új URL generálás"
+msgstr "Generált URL-ek törölve."
 
 #: js/prefs.js:1547
 msgid "This will invalidate all previously shared article URLs. Continue?"
@@ -3392,242 +3203,197 @@ msgstr "Ez érvényteleníteni fog minden korábban megosztott hír URL-t. Folyt
 
 #: js/prefs.js:1557
 msgid "Shared URLs cleared."
-msgstr ""
+msgstr "Megosztott URL-ek törölve."
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Címke Szerkesztő"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr "Feliratkozás a hírcsatornákra..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr "Törli a beépülő tárolt adatait?"
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr "Töröl minden bejegyzést a hibanaplóból?"
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Minden hírt megjelöl olvasottként?"
 
-#: js/tt-rss.js:132
-#, fuzzy
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
-msgstr "Minden hírcsatornát olvasottként jelöl"
+msgstr "Minden hírcsatornát megjelölése olvasottként..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 msgid "Please enable mail plugin first."
 msgstr "Először engedélyezze a mail beépülőt."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 msgid "Please enable embed_original plugin first."
 msgstr "Először engedélyezze az embed_original beépülőt."
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr "Elemek kijelölése címkék szerint"
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "Ebből a kategóriából nem ."
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Válasszon hírcsatorná(ka)t!"
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "Ez a hírcsatorna típust nem lehet újraponszámozni."
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Újrapontszámozza %s híreit?"
 
-#: js/tt-rss.js:806
-#, fuzzy
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
-msgstr "Hírek újrapontszámozása"
+msgstr "Hírek újrapontozása..."
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr "Új verzió érhető el."
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 msgid "Cancel search"
 msgstr "Keresés megszakítása"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Csillagot levesz a hírről"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Hír csillagozása"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Publikálás visszavonása"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Hír publikálása"
 
-#: js/viewfeed.js:653
-#, fuzzy
+#: js/viewfeed.js:654
 msgid "%d article selected"
 msgid_plural "%d articles selected"
-msgstr[0] "Nincs kiválasztott hír."
-msgstr[1] "Nincs kiválasztott hír."
-
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+msgstr[0] "%d hír kijelölve"
+msgstr[1] "%d hír kijelölve"
+
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "Nincsen kiválasztott hír."
 
-#: js/viewfeed.js:1005
-#, fuzzy
+#: js/viewfeed.js:1006
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "%d kijelölt hír törlése innen: %s?"
 msgstr[1] "%d kijelölt hír törlése innen: %s?"
 
-#: js/viewfeed.js:1007
-#, fuzzy
+#: js/viewfeed.js:1008
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
-msgstr[0] "Törli a %d kijelölt hírt?"
-msgstr[1] "Törli a %d kijelölt hírt?"
+msgstr[0] "%d kijelölt hír törlése?"
+msgstr[1] "%d kijelölt hír törlése?"
 
-#: js/viewfeed.js:1049
-#, fuzzy
+#: js/viewfeed.js:1050
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
-msgstr[0] "%d kijelölt hír archiválása inne: %s?"
-msgstr[1] "%d kijelölt hír archiválása inne: %s?"
+msgstr[0] "%d kijelölt hír archiválása innen: %s?"
+msgstr[1] "%d kijelölt hír archiválása innen: %s?"
 
-#: js/viewfeed.js:1052
-#, fuzzy
+#: js/viewfeed.js:1053
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "%d archivált hír visszaállítása?"
 msgstr[1] "%d archivált hír visszaállítása?"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
-msgstr ""
+msgstr "Kérem vegye figyelembe, hogy a nem csillagozott hírek lehet, hogy törölve lesznek a következő frissítéskor."
 
-#: js/viewfeed.js:1099
-#, fuzzy
+#: js/viewfeed.js:1100
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "%d kijelölt hír megjelölése olvasottként itt: %s?"
 msgstr[1] "%d kijelölt hír megjelölése olvasottként itt: %s?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr "Hír címkéinek szerkesztése"
 
-#: js/viewfeed.js:1129
-#, fuzzy
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
-msgstr "Hír címkéinek szerkesztése"
+msgstr "Hír címkéinek mentése..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "Nincs kiválasztott hír."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "Nincs megjelölendő hír."
 
-#: js/viewfeed.js:1372
-#, fuzzy
+#: js/viewfeed.js:1373
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "%d hír megjelölése olvasottként?"
 msgstr[1] "%d hír megjelölése olvasottként?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "Eredeti hír megjelenítése"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 msgid "Display article URL"
 msgstr "URL megjelenítése"
 
-#: js/viewfeed.js:1920
-#, fuzzy
+#: js/viewfeed.js:1900
 msgid "Toggle marked"
-msgstr "Csillagoz"
+msgstr "Jelölés váltása"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Címke hozzáadása"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "Címke eltávolítás"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 msgid "Please enter new score for selected articles:"
 msgstr "Adjon meg egy új pontszámot a kijelölt hírekhez:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 msgid "Please enter new score for this article:"
 msgstr "Adjon meg egy új pontszámot a hírhez:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 msgid "Article URL:"
 msgstr "Hír URL:"
 
-#: plugins/digest/digest.js:72
-#, fuzzy
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "%d hír megjelölése olvasottként?"
-msgstr[1] "%d hír megjelölése olvasottként?"
-
-#: plugins/digest/digest.js:290
-msgid "Error: unable to load article."
-msgstr "Hiba: a hír nem tölthető be."
-
-#: plugins/digest/digest.js:464
-msgid "Click to expand article."
-msgstr "Kattintson a hír kinyitásához"
-
-#: plugins/digest/digest.js:535
-#, fuzzy
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "%d további..."
-msgstr[1] "%d további..."
-
-#: plugins/digest/digest.js:542
-msgid "No unread feeds."
-msgstr "Nincsenek olvasatlan hírcsatornák"
-
-#: plugins/digest/digest.js:649
-msgid "Load more..."
-msgstr "Továbbiak betöltése..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr "Elnézést, a böngészője nem támogatja sandboxed iframeket."
@@ -3642,11 +3408,10 @@ msgid "Export Data"
 msgstr "Adatok exportálása"
 
 #: plugins/import_export/import_export.js:40
-#, fuzzy
 msgid "Finished, exported %d article. You can download the data <a class='visibleLink' href='%u'>here</a>."
 msgid_plural "Finished, exported %d articles. You can download the data <a class='visibleLink' href='%u'>here</a>."
-msgstr[0] "%d hír exportálása befejezve. Az adatokat <a class='visibleLink' href='%u'>innen</a> letöltheti."
-msgstr[1] "%d hír exportálása befejezve. Az adatokat <a class='visibleLink' href='%u'>innen</a> letöltheti."
+msgstr[0] "%d hír exportálása befejezve. Az adatok <a class='visibleLink' href='%u'>innen</a> letölthetők."
+msgstr[1] "%d hír exportálása befejezve. Az adatok <a class='visibleLink' href='%u'>innen</a> letölthetők."
 
 #: plugins/import_export/import_export.js:93
 msgid "Data Import"
@@ -3657,22 +3422,20 @@ msgid "Please choose the file first."
 msgstr "Először válassza ki a fájlt."
 
 #: plugins/note/note.js:17
-#, fuzzy
 msgid "Saving article note..."
-msgstr "Megjegyzés"
+msgstr "Megjegyzés mentése..."
 
 #: plugins/googlereaderimport/init.js:18
 msgid "Google Reader Import"
-msgstr ""
+msgstr "Importálás Google Readerből"
 
 #: plugins/googlereaderimport/init.js:42
-#, fuzzy
 msgid "Please choose a file first."
 msgstr "Először válassza ki a fájlt."
 
 #: plugins/instances/instances.js:10
 msgid "Link Instance"
-msgstr "Példány linkelés"
+msgstr "Példány összekapcsolás"
 
 #: plugins/instances/instances.js:73
 msgid "Edit Instance"
@@ -3683,9 +3446,8 @@ msgid "Remove selected instances?"
 msgstr "Eltávolítja a kiválasztott példányokat?"
 
 #: plugins/instances/instances.js:125
-#, fuzzy
 msgid "Removing selected instances..."
-msgstr "Eltávolítja a kiválasztott példányokat?"
+msgstr "Kiválasztott példányok eltávolítása..."
 
 #: plugins/instances/instances.js:139
 #: plugins/instances/instances.js:151
@@ -3701,286 +3463,5 @@ msgid "Share article by URL"
 msgstr "Megosztás URL-el"
 
 #: plugins/updater/updater.js:58
-#, fuzzy
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
-msgstr "Az élő frissítés még kisérleti fázisban van. A folytatás előtt mentse el a tt-rss könyvtárának tartalmát. A folytatáshoz írja be a 'yes' szót."
-
-#~ msgid "Switch to digest..."
-#~ msgstr "Váltás áttekintő módba..."
-
-#~ msgid "Show tag cloud..."
-#~ msgstr "Címkefelhő megjelenítése..."
-
-#~ msgid "Click to play"
-#~ msgstr "Kattintson a lejátszáshoz"
-
-#~ msgid "Play"
-#~ msgstr "Lejátszás"
-
-#~ msgid "Visit the website"
-#~ msgstr "Weboldal megtekintése"
-
-#~ msgid "Select theme"
-#~ msgstr "Stílusválasztó"
-
-#~ msgid "I have scanned the code and would like to enable OTP"
-#~ msgstr "Beszkenneltem a kódot és be szeretném kapcsolni az OTP-t"
-
-#~ msgid "Playing..."
-#~ msgstr "Lejátszás..."
-
-#, fuzzy
-#~ msgid "Could not upload file. You might need to adjust upload_max_filesize in PHP.ini (current value = %s)"
-#~ msgstr ""
-#~ "Nem lehet feltölteni a fájlt. A php.ini fájlban be kell állítani az upload_max_filesize értékét\n"
-#~ "\t\t\t\t jelenlegi érték = %s"
-
-#~ msgid "Default interval between feed updates"
-#~ msgstr "Hírcsatorna frissítések közti idő"
-
-#~ msgid "Could not update database"
-#~ msgstr "Adatbázis frissítése sikertelen"
-
-#~ msgid "Could not find necessary schema file, need version:"
-#~ msgstr "Nem található a szükséges séma fájl, a szükséges verzió:"
-
-#~ msgid ", found: "
-#~ msgstr ", találat:"
-
-#~ msgid "Tiny Tiny RSS database is up to date."
-#~ msgstr "A Tiny Tiny RSS adatbázis friss."
-
-#~ msgid "Please backup your database before proceeding."
-#~ msgstr "A továbbhaladás előtt készítsen biztosági másolatot adatbázisáról."
-
-#~ msgid "Your Tiny Tiny RSS database needs update to the latest version (<b>%d</b> to <b>%d</b>)."
-#~ msgstr "A Tiny Tiny RSS adatbázisát frissíteni kell a legújabb verzióra (<b>%d</b> to <b>%d</b>)."
-
-#~ msgid "Performing updates..."
-#~ msgstr "Frissítések folyamatban..."
-
-#~ msgid "Updating to version %d..."
-#~ msgstr "Frissítés %d verzióra..."
-
-#~ msgid "Checking version... "
-#~ msgstr "Verzió ellenőrzése"
-
-#~ msgid "OK!"
-#~ msgstr "OK!"
-
-#~ msgid "ERROR!"
-#~ msgstr "HIBA!"
-
-#, fuzzy
-#~ msgid "Finished. Performed <b>%d</b> update up to schema version <b>%d</b>."
-#~ msgid_plural "Finished. Performed <b>%d</b> updates up to schema version <b>%d</b>."
-#~ msgstr[0] "Elkészült.  <b>%d</b> frissítés a <b>%d</b> verziójú sémára."
-#~ msgstr[1] "Elkészült.  <b>%d</b> frissítés a <b>%d</b> verziójú sémára."
-
-#~ msgid "Your database schema is from a newer version of Tiny Tiny RSS."
-#~ msgstr "Az adatbázis séma egy újabb Tiny Tiny RSS-ből származik."
-
-#~ msgid "Found schema version: <b>%d</b>, required: <b>%d</b>."
-#~ msgstr "A talált séma verziója: <b>%d</b>, a szükséges: <b>%d</b>."
-
-#~ msgid "Schema upgrade impossible. Please update Tiny Tiny RSS files to the newer version and continue."
-#~ msgstr "A séma frissítése nem lehetséges. A folytatáshoz frissítse a Tiny Tiny RSS fájljait egy újabb verzióra."
-
-#~ msgid "Mark feed as read"
-#~ msgstr "Hírcsatorna megjelölése olvasottként"
-
-#~ msgid "Enable external API"
-#~ msgstr "Külső API engedélyezése"
-
-#~ msgid "When this option is enabled, headlines in Special feeds and Labels are grouped by feeds"
-#~ msgstr "Ha ezt a beállítást engedélyezi, a Kiemelt hírcsatornákban és a Címkékben szereplő címeket a program hírcsatornák alapján csoportosítja."
-
-#~ msgid "Title or Content"
-#~ msgstr "Cím vagy tartalom"
-
-#~ msgid "Link"
-#~ msgstr "Link"
-
-#~ msgid "Content"
-#~ msgstr "Tartalom"
-
-#~ msgid "Article Date"
-#~ msgstr "Hír dátuma"
-
-#~ msgid "Delete article"
-#~ msgstr "Hír törlése"
-
-#~ msgid "Set starred"
-#~ msgstr "Csillagoz"
-
-#~ msgid "Assign tags"
-#~ msgstr "Címke hozzáadása"
-
-#~ msgid "Modify score"
-#~ msgstr "Pontszám módosítás"
-
-#~ msgid "This option is useful when you are reading several planet-type aggregators with partially colliding userbase. When disabled, it forces same posts from different feeds to appear only once."
-#~ msgstr "Ez az opció akkor hasznos, amikor sok planet típusú hírgyűjtőt olvas részben átfedő felhasználó bázissal. Ha ki van kapcsolva, akkor arra törekszik, hogy ugyanaz a hír csak egyszer jelenjen meg."
-
-#~ msgid "Date syntax appears to be correct:"
-#~ msgstr "A dátum szintaxisa helyesnek tűnik:"
-
-#~ msgid "Date syntax is incorrect."
-#~ msgstr "A dátum szintaxisa helytelen."
-
-#, fuzzy
-#~ msgid "(%d feed)"
-#~ msgid_plural "(%d feeds)"
-#~ msgstr[0] "(%d hírcsatorna)"
-#~ msgstr[1] "(%d hírcsatorna)"
-
-#~ msgid "Notice"
-#~ msgstr "Értesítés"
-
-#~ msgid "Tag Cloud"
-#~ msgstr "Címkefelhő"
-
-#~ msgid "Mark all visible articles in %s as read?"
-#~ msgstr "Minden látható hírt megjelöl olvasottként itt: %s?"
-
-#~ msgid "Score"
-#~ msgstr "Pontszám"
-
-#~ msgid "Enable the options you wish to apply using checkboxes on the right:"
-#~ msgstr "A jobb oldali jelölőnégyzetek segítségével engedélyezheti az opciókat:"
-
-#~ msgid "New articles available in this feed (click to show)"
-#~ msgstr "Új hírek érhetők el ebben a csatornában (kattintson a megjelenítésükhöz)"
-
-#~ msgid "Pocket"
-#~ msgstr "Pocket"
-
-#~ msgid "Pinterest"
-#~ msgstr "Pinterest"
-
-#~ msgid "Share on identi.ca"
-#~ msgstr "Megosztás az identi.ca-n"
-
-#~ msgid "Owncloud"
-#~ msgstr "OwnCloud"
-
-#~ msgid "Owncloud url"
-#~ msgstr "OwnCloud URL"
-
-#~ msgid "Bookmark on OwnCloud "
-#~ msgstr "Könyvjelző az OwnCloudban"
-
-#~ msgid "Flattr this article."
-#~ msgstr "Flattr támogatás."
-
-#~ msgid "Share on Google+"
-#~ msgstr "Megosztás Google+ -on"
-
-#~ msgid "Share on Twitter"
-#~ msgstr "Megosztás az Twitteren"
-
-#~ msgid "Show additional preferences"
-#~ msgstr "További beállítások megjelenítése"
-
-#~ msgid "Back to feeds"
-#~ msgstr "Vissza a hírcsatornákhoz"
-
-#~ msgid "Updated"
-#~ msgstr "Frissített"
-
-#~ msgid "Related"
-#~ msgstr "Kapcsolódik"
-
-#~ msgid "Notifying <b>%s</b>."
-#~ msgstr "<b>%s</b> értesítése."
-
-#~ msgid "Finished: %d articles processed, %d imported, %d feeds created."
-#~ msgstr "Elkészült: %d hír feldolgozva, %d importálva, %d hírcsatorna létrehozva."
-
-#~ msgid "This will clear your stored authentication information for Twitter. Continue?"
-#~ msgstr "Ez törölni fogja a Twitter tárolt hitelesítési információit. Folytatja?"
-
-#~ msgid "Yes"
-#~ msgstr "Igen"
-
-#~ msgid "No"
-#~ msgstr "Nem"
-
-#~ msgid "Comments?"
-#~ msgstr "Hozzászólások?"
-
-#~ msgid "News"
-#~ msgstr "Hírek"
-
-#~ msgid "Move between feeds"
-#~ msgstr "Hírcsatornák közötti mozgás"
-
-#~ msgid "Move between articles"
-#~ msgstr "Mozgás hírek között"
-
-#~ msgid "Active article actions"
-#~ msgstr "Aktív hírre vonatkozó műveletek"
-
-#~ msgid "Mark articles below/above active one as read"
-#~ msgstr "Az aktív hír fölöttit/alattit olvasottnak jelöli"
-
-#~ msgid "Scroll article content"
-#~ msgstr "Hírtartalom görgetése"
-
-#~ msgid "Other actions"
-#~ msgstr "Egyéb műveletek"
-
-#~ msgid "Display this help dialog"
-#~ msgstr "A jelenlegi súgóablak megjelenítése"
-
-#, fuzzy
-#~ msgid "Multiple articles actions"
-#~ msgstr "Az összes hír"
-
-#~ msgid "Select starred articles"
-#~ msgstr "Csillagozott hírek kijelölése"
-
-#~ msgid "Feed actions"
-#~ msgstr "Hírcsatorna-műveletek"
-
-#~ msgid "If viewing category, (un)collapse it"
-#~ msgstr "Ha kategóriát böngész, csukja össze/nyissa szét"
-
-#~ msgid "Press any key to close this window."
-#~ msgstr "Az ablak bezárásához nyomjon meg egy billentyűt!"
-
-#~ msgid "My Feeds"
-#~ msgstr "Saját hírcsatornák"
-
-#~ msgid "Panel actions"
-#~ msgstr "Panelműveletek"
-
-#~ msgid "Top 25 feeds"
-#~ msgstr "A legfelső 25 hírcsatorna"
-
-#~ msgid "Edit feed categories"
-#~ msgstr "Kategóriák szerkesztése"
-
-#~ msgid "<b>Note:</b> not all actions may be available, depending on Tiny Tiny RSS configuration and your access level."
-#~ msgstr "<b>Megjegyzés:</b> a Tiny Tiny RSS beállításaitól és a hozzáférési szinttől függően nem minden művelet lesz elérhető."
-
-#~ msgid "Fatal: authentication module %s not found."
-#~ msgstr "Hiba: %s hitelesítési modul nem található."
-
-#~ msgid "Open article in new tab"
-#~ msgstr "Hír megnyitása új fülön"
-
-#~ msgid "Right-to-left content"
-#~ msgstr "Jobbról balra tartó tartalom"
-
-#~ msgid "Cache content locally"
-#~ msgstr "Tartalom helyi gyorstárazása"
-
-#~ msgid "Mark posts as updated on content change"
-#~ msgstr "Tartalom megváltozásakor jelölje a postokat frissítettként"
-
-#~ msgid "Loading..."
-#~ msgstr "Betöltés..."
-
-#~ msgid "View in a tt-rss tab"
-#~ msgstr "Megtekintés egy tt-rss fülön"
+msgstr "A folytatás előtt mentse el a tt-rss könyvtárának tartalmát. A folytatáshoz írja be a 'yes' szót."
index 8c19af828aa2e661ca14ed995c925f1961c5a7e4..dec384026075cd4766510c51c25cb9e731053ba2 100644 (file)
Binary files a/locale/it_IT/LC_MESSAGES/messages.mo and b/locale/it_IT/LC_MESSAGES/messages.mo differ
index 8206a3133dfc92f4db59d8cbe15a5b87497e3c86..d6b2775f3707e0fff1f737b04f2ba98ec382b03a 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Tiny Tiny RSS\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: 2012-02-14 08:31+0000\n"
 "Last-Translator: gothfox <cthulhoo@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -91,8 +91,8 @@ msgid "Weekly"
 msgstr "Settimanalmente"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Utente"
 
@@ -159,14 +159,13 @@ msgstr "Test di sanitizzazione dell&apos;SQL fallito; controllare il database e
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -181,14 +180,14 @@ msgstr "Test di sanitizzazione dell&apos;SQL fallito; controllare il database e
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -211,13 +210,13 @@ msgid "All Articles"
 msgstr "Tutti gli articoli"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "Con stella"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "Pubblicati"
@@ -263,12 +262,11 @@ msgstr "Titolo"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Segna come letto"
 
@@ -310,7 +308,7 @@ msgid "Feed actions:"
 msgstr "Azioni notiziari:"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Sottoscrivi il notiziario..."
 
@@ -323,8 +321,8 @@ msgid "Rescore feed"
 msgstr "Cambia punteggio notiziario"
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Annulla sottoscrizione"
@@ -342,7 +340,7 @@ msgid "Other actions:"
 msgstr "Altre azioni:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 #, fuzzy
 msgid "Toggle widescreen mode"
 msgstr "Inverti con stella"
@@ -364,52 +362,48 @@ msgid "Keyboard shortcuts help"
 msgstr "Aiuto scorciatoie da tastiera"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Esci"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Preferenze"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Scorciatoie da tastiera"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Esci dalle preferenze"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Notiziari"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Filtri"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "Etichette"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Utenti"
 
-#: prefs.php:132
+#: prefs.php:131
 msgid "System"
 msgstr ""
 
@@ -430,13 +424,13 @@ msgstr "La registrazione di nuovi utenti è disabilitata dall&apos;amministrator
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Ritorna a Tiny Tiny RSS"
 
@@ -453,12 +447,12 @@ msgid "Check availability"
 msgstr "Controlla disponibilità"
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "Email:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "Quanto fa due più due:"
 
@@ -493,11 +487,11 @@ msgstr "Il database di Tiny Tiny RSS è aggiornato."
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Senza categoria"
 
@@ -513,329 +507,328 @@ msgid "No feeds found."
 msgstr "Nessun notiziario trovato."
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Speciale"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Tutti i notiziari"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Articoli con stella"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Articoli pubblicati"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Articoli nuovi"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Tutti gli articoli"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "Articoli archiviati"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr ""
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Navigazione"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 #, fuzzy
 msgid "Open next feed"
 msgstr "Su lettura passare al prossimo notiziario"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr ""
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 #, fuzzy
 msgid "Open next article"
 msgstr "Apri articolo di origine"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 #, fuzzy
 msgid "Open previous article"
 msgstr "Apri articolo di origine"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Mostra il dialogo di ricerca"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 #, fuzzy
 msgid "Article"
 msgstr "Tutti gli articoli"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Inverti con stella"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Inverti pubblicati"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Inverti non letti"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Modifica etichette"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 #, fuzzy
 msgid "Dismiss selected"
 msgstr "Rimuovi gli articoli selezionati"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 #, fuzzy
 msgid "Dismiss read"
 msgstr "Rimuovi articoli letti"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 #, fuzzy
 msgid "Open in new window"
 msgstr "Aprire gli articoli in una nuova finestra"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr ""
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr ""
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 #, fuzzy
 msgid "Scroll down"
 msgstr "Fatto tutto."
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr ""
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 #, fuzzy
 msgid "Select article under cursor"
 msgstr "Seleziona l&apos;articolo sotto il cursore del mouse"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr ""
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 #, fuzzy
 msgid "Close/collapse article"
 msgstr "Cambio punteggio degli articoli"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 #, fuzzy
 msgid "Toggle article expansion (combined mode)"
 msgstr "Inverti pubblicati"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 #, fuzzy
 msgid "Toggle embed original"
 msgstr "Inverti pubblicati"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 #, fuzzy
 msgid "Article selection"
 msgstr "Azioni sull&apos;articolo attivo"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr ""
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 #, fuzzy
 msgid "Select unread"
 msgstr "Inverti non letti"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 #, fuzzy
 msgid "Select starred"
 msgstr "Imposta con stella"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 #, fuzzy
 msgid "Select published"
 msgstr "Articoli pubblicati"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 #, fuzzy
 msgid "Invert selection"
 msgstr "Selezione:"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 msgid "Deselect everything"
 msgstr ""
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Notiziario"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 #, fuzzy
 msgid "Refresh current feed"
 msgstr "Aggiorna notiziario attivo"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 #, fuzzy
 msgid "Un/hide read feeds"
 msgstr "Visualizza/Nascondi notiziari letti"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Sottoscrivi il notiziario"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Modifica notiziario"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 #, fuzzy
 msgid "Reverse headlines"
 msgstr "Invertire l&apos;ordine dei sommari"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 #, fuzzy
 msgid "Debug feed update"
 msgstr "Disabilitare aggiornamenti"
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Segna tutti i notiziari come letti"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 #, fuzzy
 msgid "Un/collapse current category"
 msgstr "Mettere nella categoria:"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 #, fuzzy
 msgid "Toggle combined mode"
 msgstr "Inverti pubblicati"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 #, fuzzy
 msgid "Toggle auto expand in combined mode"
 msgstr "Inverti pubblicati"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 #, fuzzy
 msgid "Go to"
 msgstr "Vai a..."
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr ""
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Nuvola etichette"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 #, fuzzy
 msgid "Other"
 msgstr "Altri notiziari"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Crea etichetta"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Crea filtro"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 #, fuzzy
 msgid "Un/collapse sidebar"
 msgstr "Contrai la barra laterale"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 #, fuzzy
 msgid "Show help dialog"
 msgstr "Mostra il dialogo di ricerca"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr ""
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "nessuna etichetta"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Modifica le etichette per questo articolo"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 msgid "Originally from:"
 msgstr "Originariamente da:"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr "URL del notiziario"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -845,47 +838,45 @@ msgstr "URL del notiziario"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Chiudi questa finestra"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr "(modifica note)"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "tipo sconosciuto"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 #, fuzzy
 msgid "Attachments"
 msgstr "Allegati:"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr ""
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Accesso:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "Password:"
 
@@ -901,7 +892,7 @@ msgstr "Profilo:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "Profilo predefinito"
 
@@ -919,7 +910,6 @@ msgstr ""
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "Accedi"
 
@@ -936,12 +926,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "Etichette per questo articolo (separate da virgole):"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -951,19 +941,19 @@ msgstr "Salva"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -972,7 +962,7 @@ msgid "Cancel"
 msgstr "Annulla"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 #, fuzzy
 msgid "Share with Tiny Tiny RSS"
 msgstr "Sottoscrive in Tiny Tiny RSS"
@@ -983,8 +973,8 @@ msgid "Title:"
 msgstr "Titolo"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -1013,94 +1003,93 @@ msgstr ""
 msgid "Not logged in"
 msgstr "Ultimo accesso"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Nome utente o password sbagliati"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Si ha già una sottoscrizione a <b>%s</b>."
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Sottoscrizione avvenuta a <b>%s</b>."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Impossibile sottoscrivere <b>%s</b>."
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, fuzzy, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "Nessun notiziario trovato."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 #, fuzzy
 msgid "Multiple feed URLs found."
 msgstr "Nessun notiziario trovato."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "Impossibile sottoscrivere <b>%s</b>.<br>Impossibile scaricare l'URL del notiziario."
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr "Sottoscrivi il notiziario selezionato"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Modifica opzioni di sottoscrizione"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 #, fuzzy
 msgid "Password recovery"
 msgstr "Password"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
 msgstr ""
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Reimposta password"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr ""
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 #, fuzzy
 msgid "Go back"
 msgstr "Sposta indietro"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr ""
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "Il livello di accesso non è sufficiente per eseguire questo script."
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Aggiornatore database"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Effettuare gli aggiornamenti"
 
@@ -1189,7 +1178,7 @@ msgstr "Visualizza come RSS del notiziario"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "Visualizza come RSS"
 
@@ -1198,17 +1187,17 @@ msgid "Select:"
 msgstr "Seleziona:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "Tutti"
@@ -1218,17 +1207,17 @@ msgid "Invert"
 msgstr "Inverti"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "Nessuno"
@@ -1260,10 +1249,10 @@ msgid "Move back"
 msgstr "Sposta indietro"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "Elimina"
 
@@ -1279,7 +1268,7 @@ msgid "Feed:"
 msgstr "Notiziario:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Notiziario non trovato."
 
@@ -1293,145 +1282,145 @@ msgstr "Non pulire mai"
 msgid "Imported at %s"
 msgstr "Importa"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "segna come letto"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 #, fuzzy
 msgid "Collapse article"
 msgstr "Tutti gli articoli"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "Nessun articolo non letto trovato da visualizzare."
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "Nessun articolo non aggiornato trovato da visualizzare."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "Nessun articolo con stella trovato da visualizzare."
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 #, fuzzy
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
 msgstr "Nessun articolo trovato da visualizzare. Si possono assegnare manualmente gli articoli alle etichette (vedere il menù «Azioni» sopra) o utilizzare un filtro."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "Nessun articolo trovato da visualizzare."
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "Ultimo aggiornamento notiziari alle %s"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "Qualche notiziario ha degli errori di aggiornamento (fare clic per dettagli)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Nessun notiziario selezionato."
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 #, fuzzy
 msgid "Feed or site URL"
 msgstr "URL del notiziario"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Mettere nella categoria:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "Notiziari disponibili"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Autenticazione"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Accesso"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "Password"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Questo notiziario richiede l&apos;autenticazione"
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Sottoscrivi"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "Altri notiziari"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Cerca"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr "Notiziari popolari"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr "Archivio notiziari"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
 msgstr "limite:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Rimuovi"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "Cerca"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Limitare la ricerca a:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Questo notiziario"
 
@@ -1504,21 +1493,21 @@ msgid "Processing category: %s"
 msgstr "Mettere nella categoria:"
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr ""
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 #, fuzzy
 msgid "Unable to move uploaded file."
 msgstr "Errore: impossibile caricare l'articolo."
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "Errore: caricare il file OPML."
@@ -1544,7 +1533,7 @@ msgid "User not found"
 msgstr "Utente non trovato"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Registrato"
 
@@ -1560,106 +1549,106 @@ msgstr "Numero notiziari sottoscritti"
 msgid "Subscribed feeds"
 msgstr "Sottoscrivi notiziari"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Livello di accesso: "
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Cambiare la password a"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Opzioni"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "Email:"
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "Aggiunto l&apos;utente <b>%s</b> con password <b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "Impossibile creare l&apos;utente <b>%s<b>"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "L&apos;utente <b>%s</b> esiste già."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, fuzzy, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr "Aggiunto l&apos;utente <b>%s</b> con password <b>%s</b>"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, fuzzy, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr "Aggiunto l&apos;utente <b>%s</b> con password <b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] Notifica di cambio password"
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 msgid "Select"
 msgstr "Seleziona"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Crea utente"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "Dettagli"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Modifica"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Livello di accesso"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Ultimo accesso"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Fare clic per modificare"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "Nessun utente definito."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "Nessun utente corrispondente trovato."
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Intestazione"
 
@@ -1684,132 +1673,131 @@ msgstr "Etichetta <b>%s</b> creata"
 msgid "Clear colors"
 msgstr "Pulisci colori"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr "Articoli che corrispondono a questo filtro:"
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 #, fuzzy
 msgid "No recent articles matching this filter have been found."
 msgstr "Nessun articolo trovato che corrisponde a questo filtro."
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr ""
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Corrisponde"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr ""
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 #, fuzzy
 msgid "Apply actions"
 msgstr "Azioni notiziari"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Abilitato"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr ""
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 #, fuzzy
 msgid "Inverse matching"
 msgstr "Corrispondenza inversa"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Prova"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 #, fuzzy
 msgid "(inverse)"
 msgstr "Inverso"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr ""
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr ""
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "Reimposta ordinamento"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Cambio punteggio degli articoli"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Crea"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr ""
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "al campo"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr "in"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #, fuzzy
 msgid "Save rule"
 msgstr "Salva"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 msgid "Add rule"
 msgstr ""
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Esegui azione"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "con parametri:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #, fuzzy
 msgid "Save action"
 msgstr "Riquadro azioni"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 #, fuzzy
 msgid "Add action"
 msgstr "Azioni notiziari"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 #, fuzzy
 msgid "[No caption]"
 msgstr "Intestazione"
@@ -1960,7 +1948,6 @@ msgid "Purge unread articles"
 msgstr "Eliminare articoli non letti"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "Invertire l&apos;ordine del sommario (prima i più vecchi)"
 
@@ -2002,7 +1989,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr "Toglie tutte le etichette HTML più comuni durante la lettura degli articoli."
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "Personalizza il foglio di stile"
 
@@ -2198,92 +2185,91 @@ msgid "Reset to defaults"
 msgstr "Reimposta ai valori predefiniti"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr ""
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 msgstr ""
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr ""
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 msgid "Description"
 msgstr ""
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr ""
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr ""
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr ""
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 #, fuzzy
 msgid "Clear data"
 msgstr "Pulisci i dati del notiziario"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 #, fuzzy
 msgid "Enable selected plugins"
 msgstr "Abilitare le categorie dei notiziari"
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 #, fuzzy
 msgid "Incorrect one time password"
 msgstr "Nome utente o password sbagliati"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 #, fuzzy
 msgid "Incorrect password"
 msgstr "Nome utente o password sbagliati"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr "Si possono cambiare i colori, i caratteri e la disposizione del tema correntemente selezionato attraverso le dichiarazioni CSS personalizzate. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">Questo file</a> può essere utilizzato come base."
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "Crea profilo"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(attivo)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "Rimuovi i profili selezionati"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "Attiva profilo"
 
@@ -2291,291 +2277,263 @@ msgstr "Attiva profilo"
 msgid "Check to enable field"
 msgstr "Spuntare per abilitare il campo"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "Titolo notiziario"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Aggiorna"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Eliminazione articoli:"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr "<b>Suggerimento:</b> occorre riempire la informazioni di accesso se il proprio notiziario richiede l'autenticazione, eccetto per i notiziari di Twitter."
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "Nascondere nei notiziari popolari"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "Includere nell&apos;email riassunto"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Mostrare sempre le immagini allegate"
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr ""
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Memorizzare le immagini localmente"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "Segnare gli articoli aggiornati come non letti"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr "Icona"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "Sostituisci"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr "Sottoscrivi per inviare aggiornamenti"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr "Reimposta lo stato di sottoscrizione a PubSubHubbub per notiziari abilitati all'invio."
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Fatto tutto."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "Notiziari con errori"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 #, fuzzy
 msgid "Inactive feeds"
 msgstr "Aggiorna notiziario attivo"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "Modifica i notiziari selezionati"
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr ""
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 #, fuzzy
 msgid "Categories"
 msgstr "Categorie notiziario"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 #, fuzzy
 msgid "Add category"
 msgstr "Modifica categorie"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 #, fuzzy
 msgid "Remove selected"
 msgstr "Rimuovere i notiziari selezionati?"
 
-#: classes/pref/feeds.php:1361
-#, fuzzy
-msgid "(Un)hide empty categories"
-msgstr "Modifica categorie"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "Altre azioni..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Eliminazione manuale"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Pulisci i dati del notiziario"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr ""
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr ""
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 #, fuzzy
 msgid "Import my OPML"
 msgstr "Importazione OPML..."
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 #, fuzzy
 msgid "Filename:"
 msgstr "Nome completo"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 #, fuzzy
 msgid "Include settings"
 msgstr "Includere nell&apos;email riassunto"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 #, fuzzy
 msgid "Export OPML"
 msgstr "Importazione OPML..."
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr "OPML può essere pubblicato e può essere sottoscritto da chiunque conosca l&apos;URL seguente."
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr "URL OPML pubblico"
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 #, fuzzy
 msgid "Display published OPML URL"
 msgstr "URL OPML pubblico"
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr "Integrazione con Firefox"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr "Questo sito di Tiny Tiny RSS può essere utilizzato come lettore di notiziari di Firefox facendo clic sul collegamento qui sotto."
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Fare clic qui per registrare questo sito come lettore di notiziari."
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 #, fuzzy
 msgid "Published & shared articles / Generated feeds"
 msgstr "Articoli pubblicati e notiziari generati"
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr "Articoli pubblicati e notiziari generati"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr "Gli articoli pubblicati vengono esportati come un notiziario pubblico e possono essere sottoscritti da chiunque conosca l&apos;URL specificato qui sotto."
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr "Visualizza URL"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr "Pulisci tutti gli URL generati"
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr ""
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr ""
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 #, fuzzy
 msgid "Unshare all articles"
 msgstr "Togli la stella all&apos;articolo"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "Questi notiziari non sono stati aggiornati con nuovi contenuti da 3 mesi (più vecchi prima):"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "Fare clic per modificare il notiziario"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "Annulla la sottoscrizione ai notiziari selezionati"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Questi notiziari non sono stati aggiornati a causa di errori:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr ""
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr ""
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr ""
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr ""
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 msgid "Refresh"
 msgstr ""
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "Pulisci colori"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr ""
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 #, fuzzy
 msgid "Filename"
 msgstr "Nome completo"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr ""
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "Data"
 
-#: plugins/digest/digest_body.php:57
-#, fuzzy
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr ""
-"Il browser non supporta Javascript, che è richiesto\n"
-"\t\t\tda questa applicazione per funzionare correttamente. Controllare\n"
-"\t\t\tle impostazioni del browser."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Salve,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr ""
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr ""
@@ -2611,63 +2569,6 @@ msgstr "La password è stata cambiata"
 msgid "Old password is incorrect."
 msgstr "La vecchia password non è corretta."
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr "Casa"
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr "Non trovato (fare clic per ricaricare il notiziario)."
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr ""
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr "Abilitare le categorie"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr "Acceso"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr "Spento"
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr "Sfoglia le categorie come cartelle"
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr "Mostrare le immagini negli articoli"
-
-#: plugins/mobile/prefs.php:46
-#, fuzzy
-msgid "Hide read articles and feeds"
-msgstr "Articoli pubblicati e notiziari generati"
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr "Ordinare i notiziari per numero di non letti"
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2711,11 +2612,11 @@ msgstr "Trascinare il collegamento seguente nella barra degli strumenti del brow
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "Sottoscrivere %s in Tiny Tiny RSS?"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Sottoscrive in Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr ""
 
@@ -2724,12 +2625,7 @@ msgid "Import and export"
 msgstr ""
 
 #: plugins/import_export/init.php:60
-#, fuzzy
-msgid "Article archive"
-msgstr "Data dell&apos;articolo"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
 msgstr ""
 
 #: plugins/import_export/init.php:65
@@ -2740,48 +2636,48 @@ msgstr ""
 msgid "Import"
 msgstr "Importa"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr ""
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr ""
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr ""
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, fuzzy, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] "Modifica note articolo"
 msgstr[1] "Modifica note articolo"
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, fuzzy, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] "già importato."
 msgstr[1] "già importato."
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, fuzzy, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] "Nessun notiziario selezionato."
 msgstr[1] "Nessun notiziario selezionato."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr ""
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr ""
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
 msgstr ""
@@ -2807,19 +2703,6 @@ msgstr "Invia email"
 msgid "Edit article note"
 msgstr "Modifica note articolo"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr ""
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr ""
-
-#: plugins/example/init.php:73
-#, fuzzy
-msgid "Set value"
-msgstr "Imposta con stella"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -2948,23 +2831,22 @@ msgstr "Ultimo aggiornamento:"
 msgid "Start update"
 msgstr "Ultimo aggiornamento:"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Segnare tutti gli articoli in «%s» come letti?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 #, fuzzy
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "Segnare tutti gli articoli in «%s» come letti?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 #, fuzzy
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "Segnare tutti gli articoli in «%s» come letti?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 #, fuzzy
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "Segnare tutti gli articoli in «%s» come letti?"
@@ -3083,7 +2965,7 @@ msgid "Subscription reset."
 msgstr "Sottoscrivi il notiziario..."
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "Annullare la sottoscrizione a «%s»?"
 
@@ -3105,8 +2987,8 @@ msgid "Trying to change address..."
 msgstr ""
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "Impossibile modificare questo tipo di notiziario."
 
@@ -3471,247 +3353,213 @@ msgstr ""
 msgid "Shared URLs cleared."
 msgstr ""
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Editor etichette"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr ""
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr ""
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Segnare tutti gli articoli come letti?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 #, fuzzy
 msgid "Marking all feeds as read..."
 msgstr "Segna tutti i notiziari come letti"
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 #, fuzzy
 msgid "Please enable mail plugin first."
 msgstr "Selezionare prima qualche notiziario."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 #, fuzzy
 msgid "Please enable embed_original plugin first."
 msgstr "Selezionare prima qualche notiziario."
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr ""
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "Impossibile annullare la sottoscrizione alla categoria."
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Selezionare prima qualche notiziario."
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "Impossibile cambiare il punteggio a questo tipo di notiziari."
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Cambiare il punteggio degli articoli in «%s»?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 #, fuzzy
 msgid "Rescoring articles..."
 msgstr "Cambio punteggio degli articoli"
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr "Nuova versione disponibile."
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 #, fuzzy
 msgid "Cancel search"
 msgstr "Annulla"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Togli la stella all&apos;articolo"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Metti la stella all&apos;articolo"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Non pubblicare articolo"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Pubblica articolo"
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 #, fuzzy
 msgid "%d article selected"
 msgid_plural "%d articles selected"
 msgstr[0] "Nessun articolo selezionato."
 msgstr[1] "Nessun articolo selezionato."
 
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "Nessun articolo selezionato."
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 #, fuzzy
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "Eliminare i %d articoli selezionati in «%s»?"
 msgstr[1] "Eliminare i %d articoli selezionati in «%s»?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 #, fuzzy
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "Eliminare i %d articoli selezionati?"
 msgstr[1] "Eliminare i %d articoli selezionati?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 #, fuzzy
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "Archiviare i %d articoli selezionati in «%s»?"
 msgstr[1] "Archiviare i %d articoli selezionati in «%s»?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 #, fuzzy
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "Spostare %d articoli archiviati indietro?"
 msgstr[1] "Spostare %d articoli archiviati indietro?"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
 msgstr ""
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 #, fuzzy
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "Segnare %d articoli selezionati in «%s» come letti?"
 msgstr[1] "Segnare %d articoli selezionati in «%s» come letti?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr "Modifica etichette articolo"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 #, fuzzy
 msgid "Saving article tags..."
 msgstr "Modifica etichette articolo"
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "Nessun articolo selezionato."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "Nessun articolo trovato da segnare"
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 #, fuzzy
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "Segnare %d articolo/i come letto/i?"
 msgstr[1] "Segnare %d articolo/i come letto/i?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "Apri articolo di origine"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 #, fuzzy
 msgid "Display article URL"
 msgstr "Visualizza URL"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 #, fuzzy
 msgid "Toggle marked"
 msgstr "Inverti con stella"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Assegna etichetta"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "Rimuovi etichetta"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 #, fuzzy
 msgid "Please enter new score for selected articles:"
 msgstr "Eliminare i %d articoli selezionati?"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 #, fuzzy
 msgid "Please enter new score for this article:"
 msgstr "Inserire il titolo della categoria:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 #, fuzzy
 msgid "Article URL:"
 msgstr "Tutti gli articoli"
 
-#: plugins/digest/digest.js:72
-#, fuzzy
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "Segnare %d articolo/i visualizzato/i come letto/i?"
-msgstr[1] "Segnare %d articolo/i visualizzato/i come letto/i?"
-
-#: plugins/digest/digest.js:290
-msgid "Error: unable to load article."
-msgstr "Errore: impossibile caricare l'articolo."
-
-#: plugins/digest/digest.js:464
-msgid "Click to expand article."
-msgstr "Fare clic per espandere l&apos;articolo."
-
-#: plugins/digest/digest.js:535
-#, fuzzy
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "%d altri..."
-msgstr[1] "%d altri..."
-
-#: plugins/digest/digest.js:542
-msgid "No unread feeds."
-msgstr "Nessun notiziario non letto."
-
-#: plugins/digest/digest.js:649
-msgid "Load more..."
-msgstr "Carica altri..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr ""
@@ -3788,6 +3636,86 @@ msgstr "Metti la stella all&apos;articolo"
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
 msgstr ""
 
+#, fuzzy
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Modifica categorie"
+
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Articoli pubblicati e notiziari generati"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Questi notiziari non sono stati aggiornati a causa di errori:"
+
+#, fuzzy
+#~ msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
+#~ msgstr ""
+#~ "Il browser non supporta Javascript, che è richiesto\n"
+#~ "\t\t\tda questa applicazione per funzionare correttamente. Controllare\n"
+#~ "\t\t\tle impostazioni del browser."
+
+#~ msgid "Hello,"
+#~ msgstr "Salve,"
+
+#~ msgid "Home"
+#~ msgstr "Casa"
+
+#~ msgid "Nothing found (click to reload feed)."
+#~ msgstr "Non trovato (fare clic per ricaricare il notiziario)."
+
+#~ msgid "Enable categories"
+#~ msgstr "Abilitare le categorie"
+
+#~ msgid "ON"
+#~ msgstr "Acceso"
+
+#~ msgid "OFF"
+#~ msgstr "Spento"
+
+#~ msgid "Browse categories like folders"
+#~ msgstr "Sfoglia le categorie come cartelle"
+
+#~ msgid "Show images in posts"
+#~ msgstr "Mostrare le immagini negli articoli"
+
+#, fuzzy
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "Articoli pubblicati e notiziari generati"
+
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "Ordinare i notiziari per numero di non letti"
+
+#, fuzzy
+#~ msgid "Article archive"
+#~ msgstr "Data dell&apos;articolo"
+
+#, fuzzy
+#~ msgid "Set value"
+#~ msgstr "Imposta con stella"
+
+#, fuzzy
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "Segnare %d articolo/i visualizzato/i come letto/i?"
+#~ msgstr[1] "Segnare %d articolo/i visualizzato/i come letto/i?"
+
+#~ msgid "Error: unable to load article."
+#~ msgstr "Errore: impossibile caricare l'articolo."
+
+#~ msgid "Click to expand article."
+#~ msgstr "Fare clic per espandere l&apos;articolo."
+
+#, fuzzy
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "%d altri..."
+#~ msgstr[1] "%d altri..."
+
+#~ msgid "No unread feeds."
+#~ msgstr "Nessun notiziario non letto."
+
+#~ msgid "Load more..."
+#~ msgstr "Carica altri..."
+
 #~ msgid "Switch to digest..."
 #~ msgstr "Passa al sommario..."
 
index 0b0bc922107b86067e5e1b06be818263700f073b..1e24c0d7ef24b48aa184fd15a40e4659a075a6df 100644 (file)
Binary files a/locale/ja_JP/LC_MESSAGES/messages.mo and b/locale/ja_JP/LC_MESSAGES/messages.mo differ
index 3b028b69fded539dd69a86b9b6b239d92457a754..b575a98af9ba57f50f9d6a310e78d7be6bb3c40a 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tt-rss unstable\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: 2013-03-25 06:48+0900\n"
 "Last-Translator: skikuta <kik0220@gmail.com>\n"
 "Language-Team: \n"
@@ -89,8 +89,8 @@ msgid "Weekly"
 msgstr "毎週"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "ユーザー"
 
@@ -156,14 +156,13 @@ msgstr "SQLのエスケープ処理のテストに失敗しました。データ
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -178,14 +177,14 @@ msgstr "SQLのエスケープ処理のテストに失敗しました。データ
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -209,13 +208,13 @@ msgid "All Articles"
 msgstr "すべての記事"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "お気に入り"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "公開済み"
@@ -262,12 +261,11 @@ msgstr "題名"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "既読にする"
 
@@ -309,7 +307,7 @@ msgid "Feed actions:"
 msgstr "フィード操作"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "フィードを購読する..."
 
@@ -322,8 +320,8 @@ msgid "Rescore feed"
 msgstr "フィードのスコアを再計算しています..."
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "購読をやめる"
@@ -341,7 +339,7 @@ msgid "Other actions:"
 msgstr "その他の操作:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 #, fuzzy
 msgid "Toggle widescreen mode"
 msgstr "カテゴリーの並び替えモードの切り替え"
@@ -364,52 +362,48 @@ msgid "Keyboard shortcuts help"
 msgstr "キーボードショートカット"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "ログアウト"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "設定"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "キーボードショートカット"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "設定を終了する"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "フィード"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "フィルター"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "ラベル"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "ユーザー"
 
-#: prefs.php:132
+#: prefs.php:131
 msgid "System"
 msgstr ""
 
@@ -430,13 +424,13 @@ msgstr "新規ユーザーの登録は管理者によって無効になってい
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Tiny Tiny RSS に戻る"
 
@@ -453,12 +447,12 @@ msgid "Check availability"
 msgstr "有効性の確認"
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "メールアドレス:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "2 + 2 = ?"
 
@@ -493,11 +487,11 @@ msgstr "Tiny Tiny RSS のデータベースを更新しました。"
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "カテゴリー割り当てなし"
 
@@ -513,340 +507,339 @@ msgid "No feeds found."
 msgstr "フィードがありません。"
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "特別"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "すべてのフィード"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "お気に入りの記事"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "公開済みの記事"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "新しい記事"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "すべての記事"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 #, fuzzy
 msgid "Archived articles"
 msgstr "未読記事"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr "最近読んだ"
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "ナビゲーション"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 #, fuzzy
 msgid "Open next feed"
 msgstr "次のフィードを開く"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr "前のフィードを開く"
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 #, fuzzy
 msgid "Open next article"
 msgstr "次の記事を開く"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 #, fuzzy
 msgid "Open previous article"
 msgstr "前の記事を開く"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr "次の記事を開く(スクロールしない)"
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr "前の記事を開く(スクロールしない)"
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 #, fuzzy
 msgid "Move to next article (don't expand or mark read)"
 msgstr "次の記事を開く(スクロールしない)"
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 #, fuzzy
 msgid "Move to previous article (don't expand or mark read)"
 msgstr "前の記事を開く(スクロールしない)"
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "検索ダイアログを表示する"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 #, fuzzy
 msgid "Article"
 msgstr "すべての記事"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "お気に入りを切り替える"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "公開を切り替える"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "未読に切り替える"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "タグを編集する"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 #, fuzzy
 msgid "Dismiss selected"
 msgstr "ラベルから選択した記事を削除しますか?"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 #, fuzzy
 msgid "Dismiss read"
 msgstr "公開記事"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 #, fuzzy
 msgid "Open in new window"
 msgstr "新しいウィンドウで記事を開く"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 #, fuzzy
 msgid "Mark below as read"
 msgstr "既読にする"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 #, fuzzy
 msgid "Mark above as read"
 msgstr "既読にする"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 #, fuzzy
 msgid "Scroll down"
 msgstr "下にスクロール"
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr "上にスクロール"
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 #, fuzzy
 msgid "Select article under cursor"
 msgstr "マウスカーソルの下の記事を選択する"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 #, fuzzy
 msgid "Email article"
 msgstr "すべての記事"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 #, fuzzy
 msgid "Close/collapse article"
 msgstr "記事を消去する"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 #, fuzzy
 msgid "Toggle article expansion (combined mode)"
 msgstr "カテゴリーの並び替えモードの切り替え"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 #, fuzzy
 msgid "Toggle embed original"
 msgstr "カテゴリーの並び替えモードの切り替え"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 #, fuzzy
 msgid "Article selection"
 msgstr "有効な記事の操作"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 #, fuzzy
 msgid "Select all articles"
 msgstr "記事を消去する"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 #, fuzzy
 msgid "Select unread"
 msgstr "未読記事を削除する"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 #, fuzzy
 msgid "Select starred"
 msgstr "お気に入りに設定する"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 #, fuzzy
 msgid "Select published"
 msgstr "未読記事を削除する"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 #, fuzzy
 msgid "Invert selection"
 msgstr "有効な記事の操作"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 #, fuzzy
 msgid "Deselect everything"
 msgstr "記事を消去する"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "フィード"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 #, fuzzy
 msgid "Refresh current feed"
 msgstr "有効なフィードの更新"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 #, fuzzy
 msgid "Un/hide read feeds"
 msgstr "読んだフィードを隠す/再表示する"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "フィードを購読する"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "フィードを編集する"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 #, fuzzy
 msgid "Reverse headlines"
 msgstr "ヘッドラインの逆順 (古いものが上)"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 #, fuzzy
 msgid "Debug feed update"
 msgstr "すべてのフィードを更新しました。"
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "すべてのフィードを既読に設定する"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 #, fuzzy
 msgid "Un/collapse current category"
 msgstr "カテゴリーの開閉"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 #, fuzzy
 msgid "Toggle combined mode"
 msgstr "カテゴリーの並び替えモードの切り替え"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 #, fuzzy
 msgid "Toggle auto expand in combined mode"
 msgstr "カテゴリーの並び替えモードの切り替え"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 #, fuzzy
 msgid "Go to"
 msgstr "移動..."
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 #, fuzzy
 msgid "Fresh"
 msgstr "再描画"
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "タグクラウド"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 #, fuzzy
 msgid "Other"
 msgstr "その他:"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "ラベルを作成する"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "フィルターを作成する"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 #, fuzzy
 msgid "Un/collapse sidebar"
 msgstr "サイドバーを縮小する"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 #, fuzzy
 msgid "Show help dialog"
 msgstr "検索ダイアログを表示する"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, fuzzy, php-format
 msgid "Search results: %s"
 msgstr "検索結果"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "タグがありません"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "この記事のタグを編集する"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 #, fuzzy
 msgid "Originally from:"
 msgstr "元の記事内容を表示する"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 #, fuzzy
 msgid "Feed URL"
 msgstr "フィード"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -856,48 +849,46 @@ msgstr "フィード"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "このウィンドウを閉じる"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 #, fuzzy
 msgid "(edit note)"
 msgstr "ノートの編集"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "未知の種類"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 #, fuzzy
 msgid "Attachments"
 msgstr "添付:"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr ""
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "ログイン:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "パスワード:"
 
@@ -914,7 +905,7 @@ msgstr "ファイル:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 #, fuzzy
 msgid "Default profile"
 msgstr "標準の記事制限"
@@ -933,7 +924,6 @@ msgstr ""
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "ログイン"
 
@@ -951,12 +941,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "この記事のタグ (カンマで区切ります):"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -966,19 +956,19 @@ msgstr "保存"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -987,7 +977,7 @@ msgid "Cancel"
 msgstr "取り消し"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 #, fuzzy
 msgid "Share with Tiny Tiny RSS"
 msgstr "Tiny Tiny RSS に戻る"
@@ -997,8 +987,8 @@ msgid "Title:"
 msgstr "題名:"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -1027,95 +1017,94 @@ msgstr "共有"
 msgid "Not logged in"
 msgstr "ログインしていません"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "ユーザー名かパスワードが正しくありません"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "<b>%s</b> は既に購読しています。"
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "<b>%s</b> を購読しました。"
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, fuzzy, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "<b>%s</b> は既に購読しています。"
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, fuzzy, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "フィードがありません。"
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 #, fuzzy
 msgid "Multiple feed URLs found."
 msgstr "公開フィードの URL を変更しました。"
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, fuzzy, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "<b>%s</b> は既に購読しています。"
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 #, fuzzy
 msgid "Subscribe to selected feed"
 msgstr "選択されたフィードの購読をやめますか?"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "購読オプションの編集"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 #, fuzzy
 msgid "Password recovery"
 msgstr "パスワード:"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
 msgstr ""
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "パスワードのリセット"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr "いくつかの必須項目が入力されていないか、正しくありません"
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 #, fuzzy
 msgid "Go back"
 msgstr "戻る"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr "ログイン名とメールアドレスの組み合わせが組み合わせが見つかりませんでした"
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "このスクリプトを実行するにはアクセスレベルが不十分です。"
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "データベースアップデーター"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "更新の実行"
 
@@ -1209,7 +1198,7 @@ msgstr "フィードを閲覧する"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 #, fuzzy
 msgid "View as RSS"
 msgstr "タグを閲覧する"
@@ -1219,17 +1208,17 @@ msgid "Select:"
 msgstr "選択:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "すべて"
@@ -1239,17 +1228,17 @@ msgid "Invert"
 msgstr "反転"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "なし"
@@ -1283,10 +1272,10 @@ msgid "Move back"
 msgstr "戻る"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 #, fuzzy
 msgid "Delete"
 msgstr "標準"
@@ -1304,7 +1293,7 @@ msgid "Feed:"
 msgstr "フィード:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "フィードが見つかりません。"
 
@@ -1318,151 +1307,151 @@ msgstr "ずっと削除しない"
 msgid "Imported at %s"
 msgstr "インポート"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "既読にする"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 #, fuzzy
 msgid "Collapse article"
 msgstr "記事を消去する"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "表示する未読記事が見つかりませんでした。"
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "表示する更新された記事が見つかりませんでした。"
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "表示するお気に入りの記事が見つかりませんでした。"
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 #, fuzzy
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
 msgstr "表示する記事が見つかりません。手動でラベルに記事を割り当てるか(上の操作メニューを参照します)、フィルターを使うことができます。"
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "表示する記事が見つかりません。"
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr ""
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "いくつかのフィードの更新エラーです (詳細はクリックしてください)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "フィードは選択されていません。"
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 #, fuzzy
 msgid "Feed or site URL"
 msgstr "フィード"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "カテゴリーの場所:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 #, fuzzy
 msgid "Available feeds"
 msgstr "すべてのフィード"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "認証"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "ログイン"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 #, fuzzy
 msgid "Password"
 msgstr "パスワード:"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "このフィードは認証を要求します。"
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "購読"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 #, fuzzy
 msgid "More feeds"
 msgstr "さらなるフィード"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "検索"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 #, fuzzy
 msgid "Popular feeds"
 msgstr "フィードの表示"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 #, fuzzy
 msgid "Feed archive"
 msgstr "フィード操作"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 #, fuzzy
 msgid "limit:"
 msgstr "制限:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "削除"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr ""
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "対象範囲"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "このフィード"
 
@@ -1536,21 +1525,21 @@ msgid "Processing category: %s"
 msgstr "カテゴリーの場所:"
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr ""
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 #, fuzzy
 msgid "Unable to move uploaded file."
 msgstr "エラー: OPML ファイルをアップロードしてください。"
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "エラー: OPML ファイルをアップロードしてください。"
@@ -1576,7 +1565,7 @@ msgid "User not found"
 msgstr "ユーザーが見つかりません"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "登録済み"
 
@@ -1592,112 +1581,112 @@ msgstr "購読フィード数"
 msgid "Subscribed feeds"
 msgstr "購読したフィード"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "アクセスレベル: "
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "次のパスワードに変更する:"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "オプション"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "電子メール: "
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "ユーザー名 <b>%s</b> とパスワード <b>%s</b> で追加しました"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "ユーザー <b>%s</b> の追加中です。"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "ユーザー <b>%s</b> は既に存在します。"
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, fuzzy, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 "ユーザー <b>%s</b> のパスワードを\n"
 "                                        <b>%s</b>に変更しました"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, fuzzy, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 "ユーザー <b>%s</b> のパスワードを\n"
 "                                        <b>%s</b>に変更しました"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] パスワード変更通知"
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 #, fuzzy
 msgid "Select"
 msgstr "選択:"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "ユーザーの作成"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 #, fuzzy
 msgid "Details"
 msgstr "毎日"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "編集"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "アクセスレベル"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "最終ログイン"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "編集するにはクリック"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "ユーザーが定義されていません。"
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "ユーザーが見つかりません。"
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "キャプション"
 
@@ -1725,137 +1714,136 @@ msgstr "ラベル <b>%s</b> を作成しました"
 msgid "Clear colors"
 msgstr "色の消去"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 #, fuzzy
 msgid "Articles matching this filter:"
 msgstr "一致するフィルターが見つかりません。"
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 #, fuzzy
 msgid "No recent articles matching this filter have been found."
 msgstr "一致するフィルターが見つかりません。"
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr ""
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "一致"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr "追加"
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 #, fuzzy
 msgid "Apply actions"
 msgstr "フィード操作"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "有効にする"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 #, fuzzy
 msgid "Match any rule"
 msgstr "一致したすべての未読記事:"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 #, fuzzy
 msgid "Inverse matching"
 msgstr "一致しない"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "テスト"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 #, fuzzy
 msgid "(inverse)"
 msgstr "反転"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr ""
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr ""
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 #, fuzzy
 msgid "Reset sort order"
 msgstr "パスワードのリセット"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "記事のスコアの再集計"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "作成"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr ""
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 #, fuzzy
 msgid "on field"
 msgstr "項目"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr ""
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #, fuzzy
 msgid "Save rule"
 msgstr "保存"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 #, fuzzy
 msgid "Add rule"
 msgstr "フィードカテゴリーを追加しています..."
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "操作の実行"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "パラメーター:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #, fuzzy
 msgid "Save action"
 msgstr "パネル操作"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 #, fuzzy
 msgid "Add action"
 msgstr "フィード操作"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 msgid "[No caption]"
 msgstr "[キャプションなし]"
 
@@ -2005,7 +1993,6 @@ msgid "Purge unread articles"
 msgstr "未読記事を削除する"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "ヘッドラインの逆順 (古いものが上)"
 
@@ -2048,7 +2035,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr ""
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 #, fuzzy
 msgid "Customize stylesheet"
 msgstr "ユーザースタイルシートの URL"
@@ -2253,95 +2240,94 @@ msgid "Reset to defaults"
 msgstr "標準に戻す"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr ""
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 msgstr ""
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr ""
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 #, fuzzy
 msgid "Description"
 msgstr "説明"
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr ""
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr ""
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr ""
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 #, fuzzy
 msgid "Clear data"
 msgstr "フィードデータの消去"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 #, fuzzy
 msgid "Enable selected plugins"
 msgstr "フィードアイコンを有効にする"
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 #, fuzzy
 msgid "Incorrect one time password"
 msgstr "ユーザー名かパスワードが正しくありません"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 #, fuzzy
 msgid "Incorrect password"
 msgstr "ユーザー名かパスワードが正しくありません"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr ""
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 #, fuzzy
 msgid "Create profile"
 msgstr "フィルターを作成する"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(有効)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 #, fuzzy
 msgid "Remove selected profiles"
 msgstr "選択されたプロファイルを削除しますか?"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 #, fuzzy
 msgid "Activate profile"
 msgstr "プロファイルを有効にする"
@@ -2351,302 +2337,276 @@ msgstr "プロファイルを有効にする"
 msgid "Check to enable field"
 msgstr "編集するにはクリック"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 #, fuzzy
 msgid "Feed Title"
 msgstr "題名"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "更新"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "記事の削除:"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 #, fuzzy
 msgid "Hide from Popular feeds"
 msgstr "自分のフィード一覧から隠す"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "電子メールダイジェストに含む"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr ""
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr ""
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "ローカルに画像をキャッシュする"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 #, fuzzy
 msgid "Mark updated articles as unread"
 msgstr "すべての記事を既読にしますか?"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 #, fuzzy
 msgid "Icon"
 msgstr "操作"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr ""
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 #, fuzzy
 msgid "Resubscribe to push updates"
 msgstr "フィードを購読する:"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "すべて終了しました。"
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 #, fuzzy
 msgid "Feeds with errors"
 msgstr "フィードエディター"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 #, fuzzy
 msgid "Inactive feeds"
 msgstr "元のフィード"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 #, fuzzy
 msgid "Edit selected feeds"
 msgstr "選択したフィードを削除しています..."
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 #, fuzzy
 msgid "Batch subscribe"
 msgstr "購読をやめる"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 #, fuzzy
 msgid "Categories"
 msgstr "カテゴリー:"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 #, fuzzy
 msgid "Add category"
 msgstr "フィードカテゴリーを追加しています..."
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 #, fuzzy
 msgid "Remove selected"
 msgstr "選択されたフィルターを削除しますか?"
 
-#: classes/pref/feeds.php:1361
-#, fuzzy
-msgid "(Un)hide empty categories"
-msgstr "カテゴリーの編集"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 #, fuzzy
 msgid "More actions..."
 msgstr "操作..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "手動削除"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "フィードデータの消去"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr ""
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr ""
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 #, fuzzy
 msgid "Import my OPML"
 msgstr "OPML のインポート中 (DOMXML 機能拡張を用いて)..."
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr ""
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 #, fuzzy
 msgid "Include settings"
 msgstr "電子メールダイジェストに含む"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 #, fuzzy
 msgid "Export OPML"
 msgstr "OPML エクスポート"
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr ""
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 #, fuzzy
 msgid "Firefox integration"
 msgstr "Firefox 統合"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr "下のリンクをクリックすることで、Firefox のフィードリーダーとしてこの Tiny Tiny RSS のサイトを使うことができます。"
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "クリックするとフィードリーダーとしてこのサイトを登録します。"
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 #, fuzzy
 msgid "Published & shared articles / Generated feeds"
 msgstr "選択したフィードの記事のスコアを再計算しますか?"
 
-#: classes/pref/feeds.php:1489
-#, fuzzy
-msgid "Published articles and generated feeds"
-msgstr "選択したフィードの記事のスコアを再計算しますか?"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr ""
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 #, fuzzy
 msgid "Display URL"
 msgstr "タグの表示"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr ""
 
-#: classes/pref/feeds.php:1502
-#, fuzzy
-msgid "Articles shared by URL"
-msgstr "記事をお気に入りにする"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr ""
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 #, fuzzy
 msgid "Unshare all articles"
 msgstr "記事のお気に入りを解除する"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 #, fuzzy
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "エラーのため、フィードは更新されませんでした:"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 #, fuzzy
 msgid "Click to edit feed"
 msgstr "編集するにはクリック"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 #, fuzzy
 msgid "Unsubscribe from selected feeds"
 msgstr "選択されたフィードの購読をやめますか?"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "エラーのため、フィードは更新されませんでした:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr ""
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr ""
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 #, fuzzy
 msgid "Feeds require authentication."
 msgstr "このフィードは認証を要求します。"
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr ""
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 #, fuzzy
 msgid "Refresh"
 msgstr "再描画"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "色の消去"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr ""
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 msgid "Filename"
 msgstr ""
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr ""
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "日付"
 
-#: plugins/digest/digest_body.php:57
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr ""
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "ようこそ、"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr ""
-
 #: plugins/close_button/init.php:22
 #, fuzzy
 msgid "Close article"
@@ -2683,67 +2643,6 @@ msgstr "パスワードを変更しました。"
 msgid "Old password is incorrect."
 msgstr "古いパスワードが不正確です。"
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr ""
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr ""
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr ""
-
-#: plugins/mobile/prefs.php:30
-#, fuzzy
-msgid "Enable categories"
-msgstr "フィードカテゴリーを有効にする"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr ""
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr ""
-
-#: plugins/mobile/prefs.php:35
-#, fuzzy
-msgid "Browse categories like folders"
-msgstr "カテゴリーの順序をリセットする"
-
-#: plugins/mobile/prefs.php:41
-#, fuzzy
-msgid "Show images in posts"
-msgstr "記事内に画像を表示しない"
-
-#: plugins/mobile/prefs.php:46
-#, fuzzy
-msgid "Hide read articles and feeds"
-msgstr "読んだフィードを隠す/再表示する"
-
-#: plugins/mobile/prefs.php:51
-#, fuzzy
-msgid "Sort feeds by unread count"
-msgstr "未読記事数によるフィードの並び替え"
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2788,12 +2687,12 @@ msgstr ""
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "Tiny Tiny RSS に戻る"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 #, fuzzy
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Tiny Tiny RSS に戻る"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr ""
 
@@ -2802,12 +2701,7 @@ msgid "Import and export"
 msgstr ""
 
 #: plugins/import_export/init.php:60
-#, fuzzy
-msgid "Article archive"
-msgstr "記事の日付"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
 msgstr ""
 
 #: plugins/import_export/init.php:65
@@ -2819,50 +2713,50 @@ msgstr "OPML エクスポート"
 msgid "Import"
 msgstr "インポート"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 #, fuzzy
 msgid "Could not import: incorrect schema version."
 msgstr "必要なスキーマファイルを見つけられませんでした。次のバージョンが必要です:"
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr ""
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr ""
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, fuzzy, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] "タグを編集する"
 msgstr[1] "タグを編集する"
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, fuzzy, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] "既にインポート済みです。"
 msgstr[1] "既にインポート済みです。"
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, fuzzy, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] "フィードは選択されていません。"
 msgstr[1] "フィードは選択されていません。"
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr ""
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 #, fuzzy
 msgid "Prepare data"
 msgstr "保存"
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 #, fuzzy
 msgid "No file uploaded."
@@ -2893,20 +2787,6 @@ msgstr "電子メールを変更する"
 msgid "Edit article note"
 msgstr "タグを編集する"
 
-#: plugins/example/init.php:36
-#, fuzzy
-msgid "Example Pane"
-msgstr "例"
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr ""
-
-#: plugins/example/init.php:73
-#, fuzzy
-msgid "Set value"
-msgstr "お気に入りに設定する"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -3042,23 +2922,22 @@ msgstr "最終更新:"
 msgid "Start update"
 msgstr "最終更新:"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "「%s」のすべての記事を既読に設定しますか?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 #, fuzzy
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "「%s」のすべての記事を既読に設定しますか?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 #, fuzzy
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "「%s」のすべての記事を既読に設定しますか?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 #, fuzzy
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "「%s」のすべての記事を既読に設定しますか?"
@@ -3182,7 +3061,7 @@ msgid "Subscription reset."
 msgstr "フィードを購読する..."
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "%s の購読をやめますか?"
 
@@ -3205,8 +3084,8 @@ msgid "Trying to change address..."
 msgstr "アドレスの変更を試みています..."
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 #, fuzzy
 msgid "You can't edit this kind of feed."
 msgstr "フィードのこの種類を消去できません。"
@@ -3575,254 +3454,216 @@ msgstr ""
 msgid "Shared URLs cleared."
 msgstr ""
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "ラベルエディター"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 #, fuzzy
 msgid "Subscribing to feeds..."
 msgstr "フィードを購読しています..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr ""
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "すべての記事を既読にしますか?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr "すべてのフィードを既読に設定しています..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 #, fuzzy
 msgid "Please enable mail plugin first."
 msgstr "はじめにいくつかのフィードを選択してください。"
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 #, fuzzy
 msgid "Please enable embed_original plugin first."
 msgstr "はじめにいくつかのフィードを選択してください。"
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr ""
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "カテゴリーから購読をやめることができません。"
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "はじめにいくつかのフィードを選択してください。"
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 #, fuzzy
 msgid "You can't rescore this kind of feed."
 msgstr "フィードのこの種類を消去できません。"
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "%s の記事のスコアを再計算しますか?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
 msgstr "記事のスコアを再計算しています..."
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 #, fuzzy
 msgid "New version available!"
 msgstr "Tiny Tiny RSS の新しいバージョンが利用できます!"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 #, fuzzy
 msgid "Cancel search"
 msgstr "取り消し"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "記事のお気に入りを解除する"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "記事をお気に入りにする"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "非公開記事"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "公開記事"
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 #, fuzzy
 msgid "%d article selected"
 msgid_plural "%d articles selected"
 msgstr[0] "選択された記事はありません。"
 msgstr[1] "選択された記事はありません。"
 
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "記事は選択されていません。"
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 #, fuzzy
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "選択した %d 件の記事を「%s」に設定しますか?"
 msgstr[1] "選択した %d 件の記事を「%s」に設定しますか?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 #, fuzzy
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "ラベルから選択した記事を削除しますか?"
 msgstr[1] "ラベルから選択した記事を削除しますか?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 #, fuzzy
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "選択した %d 件の記事を「%s」に設定しますか?"
 msgstr[1] "選択した %d 件の記事を「%s」に設定しますか?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 #, fuzzy
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "お気に入りの記事"
 msgstr[1] "お気に入りの記事"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
 msgstr ""
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 #, fuzzy
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "選択した %d 件の記事を「%s」に設定しますか?"
 msgstr[1] "選択した %d 件の記事を「%s」に設定しますか?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 #, fuzzy
 msgid "Edit article Tags"
 msgstr "タグを編集する"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
 msgstr "記事のタグを保存しています..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "選択された記事はありません。"
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "マークした記事が見つかりません"
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 #, fuzzy
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "%d 件のマークした記事を既読として設定しますか?"
 msgstr[1] "%d 件のマークした記事を既読として設定しますか?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 #, fuzzy
 msgid "Open original article"
 msgstr "元の記事内容を表示する"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 #, fuzzy
 msgid "Display article URL"
 msgstr "タグの表示"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 #, fuzzy
 msgid "Toggle marked"
 msgstr "お気に入りを切り替える"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "ラベルの割り当て"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 #, fuzzy
 msgid "Remove label"
 msgstr "選択したラベルを削除しますか?"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 #, fuzzy
 msgid "Please enter new score for selected articles:"
 msgstr "このアーティクルのノートを入力してください:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 #, fuzzy
 msgid "Please enter new score for this article:"
 msgstr "このアーティクルのノートを入力してください:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 #, fuzzy
 msgid "Article URL:"
 msgstr "すべての記事"
 
-#: plugins/digest/digest.js:72
-#, fuzzy
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "%d 件のマークした記事を既読として設定しますか?"
-msgstr[1] "%d 件のマークした記事を既読として設定しますか?"
-
-#: plugins/digest/digest.js:290
-#, fuzzy
-msgid "Error: unable to load article."
-msgstr "エラー: OPML ファイルをアップロードしてください。"
-
-#: plugins/digest/digest.js:464
-#, fuzzy
-msgid "Click to expand article."
-msgstr "開いた記事のクリック"
-
-#: plugins/digest/digest.js:535
-#, fuzzy
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "ヘルプを読み込んでいます..."
-msgstr[1] "ヘルプを読み込んでいます..."
-
-#: plugins/digest/digest.js:542
-#, fuzzy
-msgid "No unread feeds."
-msgstr "読んだフィードを隠す/再表示する"
-
-#: plugins/digest/digest.js:649
-#, fuzzy
-msgid "Load more..."
-msgstr "ヘルプを読み込んでいます..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr ""
@@ -3908,6 +3749,84 @@ msgstr "記事をお気に入りにする"
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
 msgstr ""
 
+#, fuzzy
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "カテゴリーの編集"
+
+#, fuzzy
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "選択したフィードの記事のスコアを再計算しますか?"
+
+#, fuzzy
+#~ msgid "Articles shared by URL"
+#~ msgstr "記事をお気に入りにする"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "エラーのため、フィードは更新されませんでした:"
+
+#~ msgid "Hello,"
+#~ msgstr "ようこそ、"
+
+#, fuzzy
+#~ msgid "Enable categories"
+#~ msgstr "フィードカテゴリーを有効にする"
+
+#, fuzzy
+#~ msgid "Browse categories like folders"
+#~ msgstr "カテゴリーの順序をリセットする"
+
+#, fuzzy
+#~ msgid "Show images in posts"
+#~ msgstr "記事内に画像を表示しない"
+
+#, fuzzy
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "読んだフィードを隠す/再表示する"
+
+#, fuzzy
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "未読記事数によるフィードの並び替え"
+
+#, fuzzy
+#~ msgid "Article archive"
+#~ msgstr "記事の日付"
+
+#, fuzzy
+#~ msgid "Example Pane"
+#~ msgstr "例"
+
+#, fuzzy
+#~ msgid "Set value"
+#~ msgstr "お気に入りに設定する"
+
+#, fuzzy
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "%d 件のマークした記事を既読として設定しますか?"
+#~ msgstr[1] "%d 件のマークした記事を既読として設定しますか?"
+
+#, fuzzy
+#~ msgid "Error: unable to load article."
+#~ msgstr "エラー: OPML ファイルをアップロードしてください。"
+
+#, fuzzy
+#~ msgid "Click to expand article."
+#~ msgstr "開いた記事のクリック"
+
+#, fuzzy
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "ヘルプを読み込んでいます..."
+#~ msgstr[1] "ヘルプを読み込んでいます..."
+
+#, fuzzy
+#~ msgid "No unread feeds."
+#~ msgstr "読んだフィードを隠す/再表示する"
+
+#, fuzzy
+#~ msgid "Load more..."
+#~ msgstr "ヘルプを読み込んでいます..."
+
 #~ msgid "Switch to digest..."
 #~ msgstr "ダイジェストに移行..."
 
index 800c2fb6c819d9af46b69bc43e6f11737d63967e..a7f4e773d501fbad4ce3b05bd5ef8283d537451a 100644 (file)
Binary files a/locale/lv_LV/LC_MESSAGES/messages.mo and b/locale/lv_LV/LC_MESSAGES/messages.mo differ
index 111dde820208a456f5a633aea97a0a631fb64ecc..0634f7dc95f4cdb2fb050272ea7665ac19dcee3b 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 1.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: 2013-03-18 22:55+0300\n"
 "Last-Translator: Valdis Vītoliņš <valdis.vitolins@odo.lv>\n"
 "Language-Team: \n"
@@ -89,8 +89,8 @@ msgid "Weekly"
 msgstr "Ik nedēļu"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Lietotājs"
 
@@ -157,14 +157,13 @@ msgstr "Neizdevās SQL izņēmumu tests, pārbaudiet jūsu datu bāzes un PHP ie
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -179,14 +178,14 @@ msgstr "Neizdevās SQL izņēmumu tests, pārbaudiet jūsu datu bāzes un PHP ie
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -209,13 +208,13 @@ msgid "All Articles"
 msgstr "Visus rakstus"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "Zvaigžņotos"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "Publicētos"
@@ -261,12 +260,11 @@ msgstr "Virsraksts"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Atzīmēt kā lasītu"
 
@@ -308,7 +306,7 @@ msgid "Feed actions:"
 msgstr "Barotnes darbības"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Abonēt barotni..."
 
@@ -321,8 +319,8 @@ msgid "Rescore feed"
 msgstr "Pārvērtēt barotni"
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Atteikties"
@@ -340,7 +338,7 @@ msgid "Other actions:"
 msgstr "Citas darbības:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 #, fuzzy
 msgid "Toggle widescreen mode"
 msgstr "Pārslēgt zvaigžņošanu"
@@ -362,52 +360,48 @@ msgid "Keyboard shortcuts help"
 msgstr "Isinājumtaustiņu palīdzība"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Atteikties"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Iestatījumi"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Īsinājumtaustiņi"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Iziet no iestatījumiem"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Barotnes"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Filtri"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "Iezīmes"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Lietotāji"
 
-#: prefs.php:132
+#: prefs.php:131
 msgid "System"
 msgstr ""
 
@@ -428,13 +422,13 @@ msgstr "Jaunu lietotāju reģistrēšana ir administratīvi atcelta."
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Atgriezties uz Tiny Tiny RSS"
 
@@ -451,12 +445,12 @@ msgid "Check availability"
 msgstr "Pārbaudīt pieejamību"
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "E-pasts:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "Cik ir divi un divi:"
 
@@ -490,11 +484,11 @@ msgstr "Tiny Tiny RSS datu atjaunošanas skripts."
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Nekategorizēts"
 
@@ -510,330 +504,329 @@ msgid "No feeds found."
 msgstr "Neatradu barotnes."
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Īpaši"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Visas barotnes"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Zvaigžņotie raksti"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Publicētie raksti"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Jaunākie raksti"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Visi raksti"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "Arhivētie raksti"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr "Nesen lasītie raksti"
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Navigācija"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 #, fuzzy
 msgid "Open next feed"
 msgstr "Pēc noķeršanas rādīt nākamo barotni"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr ""
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 #, fuzzy
 msgid "Open next article"
 msgstr "Atvērt sākotnējo rakstu"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 #, fuzzy
 msgid "Open previous article"
 msgstr "Atvērt sākotnējo rakstu"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Rādīt meklēšanas logu"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 #, fuzzy
 msgid "Article"
 msgstr "Visus rakstus"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Pārslēgt zvaigžņošanu"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Pārslēgt publicēšanu"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Pārslēgt nelasītu"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Rediģēt iezīmes"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 #, fuzzy
 msgid "Dismiss selected"
 msgstr "Atmest atlasītos rakstus"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 #, fuzzy
 msgid "Dismiss read"
 msgstr "Atmest lasītos rakstus"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 #, fuzzy
 msgid "Open in new window"
 msgstr "Atvērt rakstu jaunā logā"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr "Iezīmēt lejup kā lasītus"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr "Iezīmēt augšup kā lasītus"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 #, fuzzy
 msgid "Scroll down"
 msgstr "Viss izdarīts."
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr ""
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 #, fuzzy
 msgid "Select article under cursor"
 msgstr "Iezīmēt rakstu zem peles kursora"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr "Nosūtīt rakstu uz e-pastu"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 #, fuzzy
 msgid "Close/collapse article"
 msgstr "Aizvērt rakstu"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 #, fuzzy
 msgid "Toggle article expansion (combined mode)"
 msgstr "Pārslēgt publicēšanu"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 #, fuzzy
 msgid "Toggle embed original"
 msgstr "Pārslēgt publicēšanu"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 #, fuzzy
 msgid "Article selection"
 msgstr "Apgriezt rakstu iezīmēšanu"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr "Iezīmēt visus rakstus"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 #, fuzzy
 msgid "Select unread"
 msgstr "Iezīmēt nelasītos rakstus"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 #, fuzzy
 msgid "Select starred"
 msgstr "Uzlikt zvaigzni"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 #, fuzzy
 msgid "Select published"
 msgstr "Iezīmēt publicētos rakstus"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 #, fuzzy
 msgid "Invert selection"
 msgstr "Apgriezt rakstu iezīmēšanu"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 #, fuzzy
 msgid "Deselect everything"
 msgstr "Neatzīmēt rakstus"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Barotne"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 #, fuzzy
 msgid "Refresh current feed"
 msgstr "Atjaunot aktīvo barotni"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 #, fuzzy
 msgid "Un/hide read feeds"
 msgstr "(Ne)rādīt lasītās barotnes"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Abonēt barotni"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Rediģēt barotni"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 #, fuzzy
 msgid "Reverse headlines"
 msgstr "Apgriezt virsrakstu secību"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 #, fuzzy
 msgid "Debug feed update"
 msgstr "Atslēgt atjaunojumus"
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Atzīmēt visas barotnes kā lasītas"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 #, fuzzy
 msgid "Un/collapse current category"
 msgstr "Ievietot kategorijā:"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 #, fuzzy
 msgid "Toggle combined mode"
 msgstr "Pārslēgt publicēšanu"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 #, fuzzy
 msgid "Toggle auto expand in combined mode"
 msgstr "Pārslēgt publicēšanu"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 #, fuzzy
 msgid "Go to"
 msgstr "Doties uz..."
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr ""
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Iezīmju mākonis"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 #, fuzzy
 msgid "Other"
 msgstr "Citas barotnes"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Izveidot etiķeti"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Izveidot filtru"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 #, fuzzy
 msgid "Un/collapse sidebar"
 msgstr "Sakļaut sānjoslu"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 #, fuzzy
 msgid "Show help dialog"
 msgstr "Rādīt meklēšanas logu"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr "Meklēšanas rezultāti: %s"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr "–"
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "nav iezīmju"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Rediģēt šī raksta iezīmes"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 msgid "Originally from:"
 msgstr "Sākotnējais no:"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr "Barotnes URL"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -843,46 +836,44 @@ msgstr "Barotnes URL"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Aizvērt šo logu"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr "(rediģēt piezīmi)"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "nezināms tips"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 msgid "Attachments"
 msgstr "Pielikumi"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr ""
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Pieteikties:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "Parole:"
 
@@ -898,7 +889,7 @@ msgstr "Profils:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "Noklusētais profils"
 
@@ -916,7 +907,6 @@ msgstr ""
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "Pieteikties"
 
@@ -933,12 +923,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "Šī raksta iezīmes (atdalītas ar komatiem):"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -948,19 +938,19 @@ msgstr "Saglabāt"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -969,7 +959,7 @@ msgid "Cancel"
 msgstr "Atcelt"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 msgid "Share with Tiny Tiny RSS"
 msgstr "Kopīgot ar Tiny Tiny RSS"
 
@@ -978,8 +968,8 @@ msgid "Title:"
 msgstr "Virsraksts:"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -1005,93 +995,92 @@ msgstr "Kopīgot"
 msgid "Not logged in"
 msgstr "Nav pieteicies"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Nepareizs lietotāja vārds vai parole"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Jau ir pasūtījis <b>%s</b>."
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Pasūtījis <b>%s</b>."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Neizdevās pasūtīt <b>%s</b>."
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "<b>%s</b> barotne netika atrasta."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 msgid "Multiple feed URLs found."
 msgstr "Atradu vairākus barotņu URLus."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "Neizdevās pasūtīt <b>%s</b>.<br>Nevarēju lejuplādēt barotnes URL."
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr "Pasūtīt norādīto barotni"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Rediģēt barotnes iestatījumus"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 #, fuzzy
 msgid "Password recovery"
 msgstr "Parole"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
 msgstr ""
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Atstatīt paroli"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr ""
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 #, fuzzy
 msgid "Go back"
 msgstr "Pārvietot atpakaļ"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr ""
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "Jums nav nepieciešamo skripta palaišanas tiesību. "
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Datu bāzes atjaunotājs"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Izpildīt atjaunojumus"
 
@@ -1179,7 +1168,7 @@ msgstr "Skatīt RSS barotni"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "Skatīt kā RSS"
 
@@ -1188,17 +1177,17 @@ msgid "Select:"
 msgstr "Iezīmēt:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "Visus"
@@ -1208,17 +1197,17 @@ msgid "Invert"
 msgstr "Apgriezt"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "Nevienu"
@@ -1249,10 +1238,10 @@ msgid "Move back"
 msgstr "Pārvietot atpakaļ"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "Dzēst"
 
@@ -1268,7 +1257,7 @@ msgid "Feed:"
 msgstr "Barotne:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Barotne netika atrasta."
 
@@ -1282,144 +1271,144 @@ msgstr "Nekad nedzēst"
 msgid "Imported at %s"
 msgstr "Imports"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "iezīmēt kā lasītu"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 #, fuzzy
 msgid "Collapse article"
 msgstr "Aizvērt rakstu"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "Nav neizlasītu rakstu, ko rādīt."
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "Nav atjaunotu rakstu, ko rādīt."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "Nav zvaigžņotu rakstu, ko rādīt."
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 #, fuzzy
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
 msgstr "Netika atrasti parādāmi raksti. Jūs varat pievienot rakstus etiķetēm manuāli (skatiet darbību izvēlni), vai arī ar filtru."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "Netika atrasti raksti, ko rādīt."
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "Barotnes pēdējo reizi atjaunotas %s."
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "Dažas barotnes ir atjaunotas ar kļūdām (klikšķiniet lai skatītu vairāk)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Nav izvēlēta barotne."
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 msgid "Feed or site URL"
 msgstr "Barotnes vai vietnes URL"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Ievietot kategorijā:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "Pieejamās barotnes"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Autentifikācija"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Pieteikšanās"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "Parole"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Šim laukam ir nepieciešams autentificēties."
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Pasūtīt"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "Vairāk barotnes"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Meklēt"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr "Populārās barotnes"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr "Barotņu arhīvs"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
 msgstr "ierobežojumi:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Novākt"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "Meklēt"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Ierobežot meklēšanu:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Šajā barotnē"
 
@@ -1491,21 +1480,21 @@ msgid "Processing category: %s"
 msgstr "Apstrādā kategoriju: %s"
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr ""
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 #, fuzzy
 msgid "Unable to move uploaded file."
 msgstr "Kļūda: lūdzu augšuplādējiet OPML failu."
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "Kļūda: lūdzu augšuplādējiet OPML failu."
@@ -1531,7 +1520,7 @@ msgid "User not found"
 msgstr "Lietotājs netika atrasts"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Reģistrēts"
 
@@ -1547,110 +1536,110 @@ msgstr "Pasūtīto barotņu skaits"
 msgid "Subscribed feeds"
 msgstr "Pasūtītās barotnes"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Pieejas līmenis:"
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Nomainīt paroli uz"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Iespējas"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "E-pasts:"
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "Pievienoja lietotāju <b>%s</b> ar paroli <b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "Neizdevās izveidot lietotāju <b>%s</b>"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "Lietotājs <b>%s</b> jau pastāv."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, fuzzy, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 "Nomainīja lietotāja <b>%s</b> paroli\n"
 "\t\t\t\t uz <b>%s</b>"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, fuzzy, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 "Nomainīja lietotāja <b>%s</b> paroli\n"
 "\t\t\t\t uz <b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] paroles maiņas paziņojums"
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 msgid "Select"
 msgstr "Iezīmēt"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Izveidot lietotāju"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "Detaļas"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Rediģēt"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Pieejas līmenis"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Pēdējā pieteikšanās"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Klikšķiniet, lai rediģētu"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "Nav definēti lietotāji."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "Neatradu atbilstošus lietotājus."
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Uzraksts"
 
@@ -1675,127 +1664,126 @@ msgstr "Izveidoju etiķeti <b>%s</b>"
 msgid "Clear colors"
 msgstr "Attīrīt krāsas"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr "Raksti, kas atbilst šim filtram:"
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 msgid "No recent articles matching this filter have been found."
 msgstr "Neseni raksti ar šādiem atlases nosacījumiem netika atrasti"
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr ""
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Atbilstība"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr "Pievienot"
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 msgid "Apply actions"
 msgstr "Pielietot darbības"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Iespējots"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr "Atbilst jebkuram likumam"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 #, fuzzy
 msgid "Inverse matching"
 msgstr "Apgriezt rakstu iezīmēšanu"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Pārbaudīt"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 #, fuzzy
 msgid "(inverse)"
 msgstr "Apgriezt"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, fuzzy, php-format
 msgid "%s on %s in %s %s"
 msgstr "%s kad %s kur %s"
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr "Apvienot"
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "Atstatīt kārtošanas secību"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Pārvērtēt rakstus"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Izveidot"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr ""
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "laukā"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr "kur"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 msgid "Save rule"
 msgstr "Saglabāt likumu"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 msgid "Add rule"
 msgstr "Pievienot likumu"
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Pielietot darbību"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "ar parametriem:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 msgid "Save action"
 msgstr "Saglabāt darbību"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 msgid "Add action"
 msgstr "Pievienot darbību"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 #, fuzzy
 msgid "[No caption]"
 msgstr "Uzraksts"
@@ -1944,7 +1932,6 @@ msgid "Purge unread articles"
 msgstr "Dzēst nelasītos rakstus"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "Apgriezt virsrakstu secību (vecākos vispirms)"
 
@@ -1986,7 +1973,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr "Lasot rakstus, atmest visus, izņemot pašus svarīgākos HTML tagus."
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "Pielāgot stilu lapu"
 
@@ -2178,91 +2165,90 @@ msgid "Reset to defaults"
 msgstr "Atstatīt uz noklusētajiem"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr ""
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 msgstr ""
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr ""
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 msgid "Description"
 msgstr ""
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr ""
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr ""
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr ""
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 #, fuzzy
 msgid "Clear data"
 msgstr "Dzēst barotņu datus"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 #, fuzzy
 msgid "Enable selected plugins"
 msgstr "Iespējot barotņu kategorijas"
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 #, fuzzy
 msgid "Incorrect one time password"
 msgstr "Nepareiza parole"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 msgid "Incorrect password"
 msgstr "Nepareiza parole"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr "Jūs varat aizstāt krāsas, fontus un izklājumu, šobrīd izmantotā CSS vietā izmantojot savus pielāgojumus. Paraugu varat ņemt no <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">šī faila</a>."
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "Izveidot profilu"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(aktīvs)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "Dzēst iezīmētos profilus"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "Aktivizēt profilu"
 
@@ -2270,279 +2256,252 @@ msgstr "Aktivizēt profilu"
 msgid "Check to enable field"
 msgstr "Iezīmējiet, lai iespējotu"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "Barotnes virsraksts"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Atjaunot"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Dzēšu rakstu:"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr "<b>Ieteikums:</b> ja jūsu barotnei ir nepieciešama autentifikācija, jums ir jāievada pieteikšanās informācija. Vienīgais izņēmums ir Twitter barotnes."
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "Nerādīt populārajās barotnēs"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "Iekļaut e-pasta īssavilkumu"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Vienmēr rādīt attēlu pielikumus"
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr ""
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Kešot attēlus lokāli"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "Atzīmēt atjaunotos rakstus kā nelasītus"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr "Ikona"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "Aizvietot"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr "Pārpasūtīt atjaunojumu grūšanu"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr "Atstata PubSubHubbub pasūtījumu statusu barotnēm ar iespējotu atjaunojumu grūšanu."
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Viss izdarīts."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "Barotnes ar kļūdām"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 msgid "Inactive feeds"
 msgstr "Neaktīvās barotnes"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "Rediģēt izvēlētās barotnes"
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr "Pasūtījuma pakotne"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 msgid "Categories"
 msgstr "Kategorijas"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 msgid "Add category"
 msgstr "Pievienot kategoriju"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 msgid "Remove selected"
 msgstr "Dzēst izvēlētās"
 
-#: classes/pref/feeds.php:1361
-msgid "(Un)hide empty categories"
-msgstr "(Ne)slēpt tukšās kategorijas"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "Papildu iespējas..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Manuāla dzēšana"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Dzēst barotņu datus"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr "Izmantojot OPML jūs varat eksportēt un importēt savas barotnes, filtrus, etiķetes un Tiny Tiny RSS iestatījumus."
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr "Izmantojot OPML var migrēt tikai galvenos iestatījumus."
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 msgid "Import my OPML"
 msgstr "Importēt manu OPML"
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr "Faila nosaukums:"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
 msgstr "Iekļaut iestatījumus"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 msgid "Export OPML"
 msgstr "Eksportēt OPML"
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr "Jūsu OPML var publicēt un to var abonēt katrs, kas zin zemāk minēto saiti."
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr "Publicētajā OPML nav iekļauti: jūsu Tiny Tiny RSS iestatījumi, barotnes, kurās nepieciešams autentificēties un arī barotnes, kas ir paslēptas no populārajām barotnēm."
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr "Publiskā OPML URL (adrese)"
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr "Parādīt publicētā OPML URL"
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr "Firefox integrācija"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr "Šo Tiny Tiny RSS vietni var izmantot kā Firefox Feed Reader, klikšķinot uz zemākās saites."
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Klikšķiniet šeit, lai reģistrētu šo vietni kā barotņu avotu."
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 msgid "Published & shared articles / Generated feeds"
 msgstr "Publicētie un kopīgotie raksti / sagatavotās barotnes"
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr "Publicētie raksti un sagatavotās barotnes"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr "Publicētie raksti tiek eksportēti kā publiskas RSS barotnes un tās var izmantot katrs, kas zina zemāk minēto saiti."
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr "Parādīt URL"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr "Attīrīt visus ģenerētos URL"
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr "Raksti, kas kopīgoti ar URL"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr "Jūs varat atcelt ar šo URL kopīgotos rakstus šeit."
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 msgid "Unshare all articles"
 msgstr "Atcelt visu rakstu kopīgošanu"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "Šajās barotnēs nav bijis jauns saturs vairāk kā 3 mēnešus (sākot ar vecākajām):"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "Klikšķiniet, lai rediģētu"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "Atcelt izvēlēto barotņu pasūtīšanu"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Šīs barotnes netika atjaunotas sekojošu kļūdu dēļ:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr "Pievienojiet vienu derīgu RSS barotni vienā rindā (barotnes netiek pārbaudītas)"
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr "Pasūtāmās barotnes, pa vienai katrā rindā"
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr "Barotnēm nepieciešama autentifikācija"
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr ""
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 msgid "Refresh"
 msgstr ""
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "Attīrīt krāsas"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr ""
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 #, fuzzy
 msgid "Filename"
 msgstr "Faila nosaukums:"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr ""
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "Datums"
 
-#: plugins/digest/digest_body.php:57
-#, fuzzy
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr ""
-"Jūsu pārlūkprogramma neatbalsta Javascript, kas ir nepieciešams\n"
-"\t\t\tlai šī programma strādātu pareizi. Lūdzu pārbaudiet savas\n"
-"\t\t\tpārlūkprogrammas iestatījumus."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Sveicināti,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr "Regulārā versija"
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr "Aizvērt rakstu"
@@ -2577,62 +2536,6 @@ msgstr "Parole ir nomainīta."
 msgid "Old password is incorrect."
 msgstr "Vecā parole nav pareiza."
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr "Mājas"
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr "Nekas netika atrasts (klikšķiniet, lai pārlādētu barotni)."
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr "Atvērt parasto versiju"
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr "Iespējot kategorijas"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr "IESL."
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr "Izsl."
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr "Pārlūkt kategorijas kā mapes."
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr "Rādīt ziņās attēlus."
-
-#: plugins/mobile/prefs.php:46
-msgid "Hide read articles and feeds"
-msgstr "Nerādīt lasītos rakstus barotnēs"
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr "Kārtot barotnes pēc nelasīto skaita"
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2676,11 +2579,11 @@ msgstr "Velciet zemāk minēto saiti uz jūsu pārlūkprogrammas rīku joslu, ta
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "Pasūtīt %s Tiny Tiny RSS?"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Pasūtīt Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr "Izmantojiet grāmatzīmes lai publicētu izvēlētās lapas Tiny Tiny RSS"
 
@@ -2689,11 +2592,8 @@ msgid "Import and export"
 msgstr "Imports un eksports"
 
 #: plugins/import_export/init.php:60
-msgid "Article archive"
-msgstr "Raksta arhīvs"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
+#, fuzzy
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
 msgstr "Jūs varat eksportēt un importēt jūsu zvaigžņotos un arhivētos rakstus, lai saglabātu tos pārejot uz citu tt-rss instanci."
 
 #: plugins/import_export/init.php:65
@@ -2704,48 +2604,48 @@ msgstr "Eksportēt manus datus"
 msgid "Import"
 msgstr "Imports"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr "Neizdevās importēt: nepareiza shēmas versija."
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr "Neizdevās importēt: neatpazīts dokumenta formāts."
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr ""
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, fuzzy, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] "Rediģēt raksta piezīmes"
 msgstr[1] "Rediģēt raksta piezīmes"
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] ""
 msgstr[1] ""
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, fuzzy, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] "Nav izvēlēta barotne."
 msgstr[1] "Nav izvēlēta barotne."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr "Neizdevās ielādēt XML dokumentu."
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr "Sagatavo datus"
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
 msgstr ""
@@ -2771,18 +2671,6 @@ msgstr "Nosūtīt e-pastu"
 msgid "Edit article note"
 msgstr "Rediģēt raksta piezīmes"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr "Piemēra panelis"
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr "Piemēra vērtība"
-
-#: plugins/example/init.php:73
-msgid "Set value"
-msgstr "Iestatīt vērtību"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -2907,23 +2795,22 @@ msgstr "Gatavs atjaunošanai."
 msgid "Start update"
 msgstr "Sākt atjaunošanu"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Vai atzīmēt visus rakstus %s kā lasītus?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 #, fuzzy
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "Vai atzīmēt visus rakstus %s kā lasītus?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 #, fuzzy
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "Vai atzīmēt visus rakstus %s kā lasītus?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 #, fuzzy
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "Vai atzīmēt visus rakstus %s kā lasītus?"
@@ -3039,7 +2926,7 @@ msgid "Subscription reset."
 msgstr "Abonēt barotni..."
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "Atteikt pasūtījumu %s?"
 
@@ -3061,8 +2948,8 @@ msgid "Trying to change address..."
 msgstr ""
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "Jūs nevarat rediģēt šāda veida barotni."
 
@@ -3422,246 +3309,209 @@ msgstr "Tas padarīs nederīgus visu iepriekš izveidoto kopīgoto rakstu URLus.
 msgid "Shared URLs cleared."
 msgstr ""
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Etiķešu redaktors"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr "Barotņu pasūtīšana"
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr "Attīrīt šī spraudņa saglabātos datus?"
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Vai atzīmēt visus rakstus kā lasītus?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 #, fuzzy
 msgid "Marking all feeds as read..."
 msgstr "Atzīmēt visas barotnes kā lasītas"
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 msgid "Please enable mail plugin first."
 msgstr "Lūdzu, vispirmi iespējojiet e-pasta spraudni."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 #, fuzzy
 msgid "Please enable embed_original plugin first."
 msgstr "Lūdzu, vispirmi iespējojiet e-pasta spraudni."
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr "Atlasīt vienumus pēc iezīmēm"
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "Jūs nevarat atteikties no kategorijas."
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Lūdzu, vispirms norādiet barotni."
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "Jūs nevarat pārvērtēt šī veida barotni."
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Pārvērtēt rakstus %s?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 #, fuzzy
 msgid "Rescoring articles..."
 msgstr "Pārvērtēt rakstus"
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr "Ir pieejama jauna versija!"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 msgid "Cancel search"
 msgstr "Atcelt meklēšanu"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Atzvaigžņot rakstu"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Zvaigžņot rakstu"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Atpublicēt rakstu"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Publicēt rakstu"
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 #, fuzzy
 msgid "%d article selected"
 msgid_plural "%d articles selected"
 msgstr[0] "Nav izvēlēts raksts."
 msgstr[1] "Nav izvēlēts raksts."
 
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "Nav norādīts raksts."
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 #, fuzzy
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "Dzēst %d izvēlētos rakstus %s?"
 msgstr[1] "Dzēst %d izvēlētos rakstus %s?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 #, fuzzy
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "Dzēst %d izvēlētos rakstus?"
 msgstr[1] "Dzēst %d izvēlētos rakstus?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 #, fuzzy
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "Arhivēt %d izvēlētos rakstus %s?"
 msgstr[1] "Arhivēt %d izvēlētos rakstus %s?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 #, fuzzy
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "Pārvietot %d arhivētos rakstus atpakaļ?"
 msgstr[1] "Pārvietot %d arhivētos rakstus atpakaļ?"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
 msgstr ""
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 #, fuzzy
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "Atzīmēt %d izvēlētos rakstus %s kā lasītus?"
 msgstr[1] "Atzīmēt %d izvēlētos rakstus %s kā lasītus?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr "Rediģēt rakstu iezīmes"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 #, fuzzy
 msgid "Saving article tags..."
 msgstr "Rediģēt rakstu iezīmes"
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "Nav izvēlēts raksts."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "Nav atrasti iezīmējamie raksti"
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 #, fuzzy
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "Iezīmēt %d rakstus kā lasītus?"
 msgstr[1] "Iezīmēt %d rakstus kā lasītus?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "Atvērt sākotnējo rakstu"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 #, fuzzy
 msgid "Display article URL"
 msgstr "Parādīt URL"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 #, fuzzy
 msgid "Toggle marked"
 msgstr "Pārslēgt zvaigžņošanu"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Pievienot etiķeti"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "Dzēst etiķeti"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 msgid "Please enter new score for selected articles:"
 msgstr "Ievadiet jauno vērtējumu izvēlētajiem rakstiem:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 msgid "Please enter new score for this article:"
 msgstr "Ievadiet jaunu vērtējumu šim rakstam:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 #, fuzzy
 msgid "Article URL:"
 msgstr "Visus rakstus"
 
-#: plugins/digest/digest.js:72
-#, fuzzy
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "Iezīmēt %d rakstus kā lasītus?"
-msgstr[1] "Iezīmēt %d rakstus kā lasītus?"
-
-#: plugins/digest/digest.js:290
-#, fuzzy
-msgid "Error: unable to load article."
-msgstr "Kļūda: lūdzu augšuplādējiet OPML failu."
-
-#: plugins/digest/digest.js:464
-#, fuzzy
-msgid "Click to expand article."
-msgstr "Iezīmēt nelasītos rakstus"
-
-#: plugins/digest/digest.js:535
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] ""
-msgstr[1] ""
-
-#: plugins/digest/digest.js:542
-#, fuzzy
-msgid "No unread feeds."
-msgstr "Saglabātās barotnes"
-
-#: plugins/digest/digest.js:649
-#, fuzzy
-msgid "Load more..."
-msgstr "Ielādē..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr ""
@@ -3746,6 +3596,95 @@ msgstr "Kopīgot ar URL"
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
 msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, izveidojiet jūsu tt-rss mapes rezerves kopiju."
 
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "(Ne)slēpt tukšās kategorijas"
+
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Publicētie raksti un sagatavotās barotnes"
+
+#~ msgid "Articles shared by URL"
+#~ msgstr "Raksti, kas kopīgoti ar URL"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Šīs barotnes netika atjaunotas sekojošu kļūdu dēļ:"
+
+#, fuzzy
+#~ msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
+#~ msgstr ""
+#~ "Jūsu pārlūkprogramma neatbalsta Javascript, kas ir nepieciešams\n"
+#~ "\t\t\tlai šī programma strādātu pareizi. Lūdzu pārbaudiet savas\n"
+#~ "\t\t\tpārlūkprogrammas iestatījumus."
+
+#~ msgid "Hello,"
+#~ msgstr "Sveicināti,"
+
+#~ msgid "Regular version"
+#~ msgstr "Regulārā versija"
+
+#~ msgid "Home"
+#~ msgstr "Mājas"
+
+#~ msgid "Nothing found (click to reload feed)."
+#~ msgstr "Nekas netika atrasts (klikšķiniet, lai pārlādētu barotni)."
+
+#~ msgid "Open regular version"
+#~ msgstr "Atvērt parasto versiju"
+
+#~ msgid "Enable categories"
+#~ msgstr "Iespējot kategorijas"
+
+#~ msgid "ON"
+#~ msgstr "IESL."
+
+#~ msgid "OFF"
+#~ msgstr "Izsl."
+
+#~ msgid "Browse categories like folders"
+#~ msgstr "Pārlūkt kategorijas kā mapes."
+
+#~ msgid "Show images in posts"
+#~ msgstr "Rādīt ziņās attēlus."
+
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "Nerādīt lasītos rakstus barotnēs"
+
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "Kārtot barotnes pēc nelasīto skaita"
+
+#~ msgid "Article archive"
+#~ msgstr "Raksta arhīvs"
+
+#~ msgid "Example Pane"
+#~ msgstr "Piemēra panelis"
+
+#~ msgid "Sample value"
+#~ msgstr "Piemēra vērtība"
+
+#~ msgid "Set value"
+#~ msgstr "Iestatīt vērtību"
+
+#, fuzzy
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "Iezīmēt %d rakstus kā lasītus?"
+#~ msgstr[1] "Iezīmēt %d rakstus kā lasītus?"
+
+#, fuzzy
+#~ msgid "Error: unable to load article."
+#~ msgstr "Kļūda: lūdzu augšuplādējiet OPML failu."
+
+#, fuzzy
+#~ msgid "Click to expand article."
+#~ msgstr "Iezīmēt nelasītos rakstus"
+
+#, fuzzy
+#~ msgid "No unread feeds."
+#~ msgstr "Saglabātās barotnes"
+
+#, fuzzy
+#~ msgid "Load more..."
+#~ msgstr "Ielādē..."
+
 #~ msgid "Switch to digest..."
 #~ msgstr "Pārslēgties uz īssavilkumu..."
 
index b12aac593fff8a9b1033076595c753087a11c64b..ca270a748d4bb1f16e004312b8c138189326911b 100644 (file)
Binary files a/locale/nb_NO/LC_MESSAGES/messages.mo and b/locale/nb_NO/LC_MESSAGES/messages.mo differ
index 98bd93ace73faefe7f5d4c38c7be12e748bf1357..a41f8afa5bb83f819d81df441bd0cd4015c5e51b 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Tiny Tiny RSS 1.3.3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: 2009-05-02 00:10+0100\n"
 "Last-Translator: Christian Lomsdalen <christian@vindstille.net>\n"
 "Language-Team: Norwegian Bokmål <christian@vindstille.net>\n"
@@ -89,8 +89,8 @@ msgid "Weekly"
 msgstr "Ukentlig"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Bruker"
 
@@ -158,14 +158,13 @@ msgstr "SQL escaping testen feilen, sjekk database og PHP konfigurasjonene dine.
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -180,14 +179,14 @@ msgstr "SQL escaping testen feilen, sjekk database og PHP konfigurasjonene dine.
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -211,13 +210,13 @@ msgid "All Articles"
 msgstr "Alle artikler"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "Favoritter"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "Publisert"
@@ -264,12 +263,11 @@ msgstr "Tittel"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Marker som lest"
 
@@ -311,7 +309,7 @@ msgid "Feed actions:"
 msgstr "Nyhetsstrømshandlinger:"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Abonner på nyhetsstrøm..."
 
@@ -324,8 +322,8 @@ msgid "Rescore feed"
 msgstr "Sett poeng på nytt for nyhetskanalene"
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Avabonner"
@@ -343,7 +341,7 @@ msgid "Other actions:"
 msgstr "Andre handlinger:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 #, fuzzy
 msgid "Toggle widescreen mode"
 msgstr "Tillatt endringer i kategorirekkefølgen?"
@@ -366,52 +364,48 @@ msgid "Keyboard shortcuts help"
 msgstr "Tastatursnarveier"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Logg ut"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Innstillinger"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Tastatursnarveier"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Forlat innstillinger"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Nyhetsstrømmer"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Filtre"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "Merkelapper"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Brukere"
 
-#: prefs.php:132
+#: prefs.php:131
 msgid "System"
 msgstr ""
 
@@ -432,13 +426,13 @@ msgstr "Registrering av nye brukere er administrativt avskrudd"
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Returner til Tiny Tiny RSS"
 
@@ -455,12 +449,12 @@ msgid "Check availability"
 msgstr "Sjekk tilgjengeligheten"
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "E-post:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "Hvor mye er to pluss to:"
 
@@ -495,11 +489,11 @@ msgstr "Tiny Tiny RSS-databasen er oppdatert"
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Ukategorisert"
 
@@ -515,338 +509,337 @@ msgid "No feeds found."
 msgstr "Ingen nyhetsstrømmer ble funnet."
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Snarveier"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Alle Nyhetsstrømmer"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Favorittartikler"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Publiserte artikler"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Ferske artikler"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Alle artikler"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 #, fuzzy
 msgid "Archived articles"
 msgstr "Lagrede artikler"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr ""
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Navigasjon"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 #, fuzzy
 msgid "Open next feed"
 msgstr "Generert nyhetsstrøm"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr ""
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 #, fuzzy
 msgid "Open next article"
 msgstr "Vis opprinnelig artikkelinnhold"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 #, fuzzy
 msgid "Open previous article"
 msgstr "Vis opprinnelig artikkelinnhold"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Vis søkevinduet"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 #, fuzzy
 msgid "Article"
 msgstr "Alle artikler"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Sett som favoritt"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Sett som publisert"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Sett som ulest"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Endre stikkord"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 #, fuzzy
 msgid "Dismiss selected"
 msgstr "Fjerne merkede artikler fra merkelappen?"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 #, fuzzy
 msgid "Dismiss read"
 msgstr "Publiser artiklen"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 #, fuzzy
 msgid "Open in new window"
 msgstr "Åpne artikkel i nytt nettleservindu"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 #, fuzzy
 msgid "Mark below as read"
 msgstr "Marker som lest"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 #, fuzzy
 msgid "Mark above as read"
 msgstr "Marker som lest"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 #, fuzzy
 msgid "Scroll down"
 msgstr "Alt ferdig."
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr ""
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 #, fuzzy
 msgid "Select article under cursor"
 msgstr "Velg artikkelen under musepekeren"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 #, fuzzy
 msgid "Email article"
 msgstr "Alle artikler"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 #, fuzzy
 msgid "Close/collapse article"
 msgstr "Fjern artikler"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 #, fuzzy
 msgid "Toggle article expansion (combined mode)"
 msgstr "Tillatt endringer i kategorirekkefølgen?"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 #, fuzzy
 msgid "Toggle embed original"
 msgstr "Tillatt endringer i kategorirekkefølgen?"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 #, fuzzy
 msgid "Article selection"
 msgstr "Handlinger for aktive artikler"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 #, fuzzy
 msgid "Select all articles"
 msgstr "Fjern artikler"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 #, fuzzy
 msgid "Select unread"
 msgstr "Slett uleste artikler"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 #, fuzzy
 msgid "Select starred"
 msgstr "Sett som favorittartikkel"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 #, fuzzy
 msgid "Select published"
 msgstr "Slett uleste artikler"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 #, fuzzy
 msgid "Invert selection"
 msgstr "Handlinger for aktive artikler"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 #, fuzzy
 msgid "Deselect everything"
 msgstr "Fjern artikler"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Nyhetsstrøm"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 #, fuzzy
 msgid "Refresh current feed"
 msgstr "Oppdater aktive nyhetsstrømmer"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 #, fuzzy
 msgid "Un/hide read feeds"
 msgstr "Skjul/vis leste nyhetsstrømmer"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Abonner på nyhetsstrøm"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Rediger nyhetsstrømmen"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 #, fuzzy
 msgid "Reverse headlines"
 msgstr "Motsatt titteloversikt (eldste først)"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 #, fuzzy
 msgid "Debug feed update"
 msgstr "Alle nyhetsstrømmer er oppdatert"
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Marker alle nyhetsstrømmer som lest"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 #, fuzzy
 msgid "Un/collapse current category"
 msgstr "Velg for å slå sammen kategorien"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 #, fuzzy
 msgid "Toggle combined mode"
 msgstr "Tillatt endringer i kategorirekkefølgen?"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 #, fuzzy
 msgid "Toggle auto expand in combined mode"
 msgstr "Tillatt endringer i kategorirekkefølgen?"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 #, fuzzy
 msgid "Go to"
 msgstr "Gå til..."
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 #, fuzzy
 msgid "Fresh"
 msgstr "Oppdater"
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Tag-sky"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 #, fuzzy
 msgid "Other"
 msgstr "Andre:"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Lag merkelapp"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Lag filter"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 #, fuzzy
 msgid "Un/collapse sidebar"
 msgstr "Skjul nyhetskanalsslisten"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 #, fuzzy
 msgid "Show help dialog"
 msgstr "Vis søkevinduet"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, fuzzy, php-format
 msgid "Search results: %s"
 msgstr "Søkeresultat"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr "-"
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "Ingen stikkord"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Rediger stikkordene for denne artikkelen"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 #, fuzzy
 msgid "Originally from:"
 msgstr "Vis opprinnelig artikkelinnhold"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 #, fuzzy
 msgid "Feed URL"
 msgstr "Nyhetsstrøm"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -856,48 +849,46 @@ msgstr "Nyhetsstrøm"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Lukk dette vinduet"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 #, fuzzy
 msgid "(edit note)"
 msgstr "Rediger notat"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "Ukjent type"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 #, fuzzy
 msgid "Attachments"
 msgstr "Vedlegg:"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr ""
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Brukernavn:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "Passord:"
 
@@ -914,7 +905,7 @@ msgstr "Fil:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 #, fuzzy
 msgid "Default profile"
 msgstr "Standard artikkelbegrensning"
@@ -933,7 +924,6 @@ msgstr ""
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "Logg inn"
 
@@ -951,12 +941,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "Denne artikkelens stikkord (separert med kommaer):"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -966,19 +956,19 @@ msgstr "Lagre"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -987,7 +977,7 @@ msgid "Cancel"
 msgstr "Avbryt"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 #, fuzzy
 msgid "Share with Tiny Tiny RSS"
 msgstr "Returner til Tiny Tiny RSS"
@@ -997,8 +987,8 @@ msgid "Title:"
 msgstr "Tittel:"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -1027,95 +1017,94 @@ msgstr ""
 msgid "Not logged in"
 msgstr "Sist innlogget"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Feil brukernavn og/eller passord"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Abonnerer allerede på <b>%s</b>"
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Abonnerer på <b>%s</b>"
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, fuzzy, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Abonnerer allerede på <b>%s</b>"
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, fuzzy, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "Ingen nyhetsstrømmer ble funnet."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 #, fuzzy
 msgid "Multiple feed URLs found."
 msgstr "Adresse for nyhetsstrømmen for offentliggjorte innlegg har endret seg."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, fuzzy, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "Abonnerer allerede på <b>%s</b>"
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 #, fuzzy
 msgid "Subscribe to selected feed"
 msgstr "Fjern abonnement på valgte nyhetsstrømmer"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Rediger abonnementsalternativer"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 #, fuzzy
 msgid "Password recovery"
 msgstr "Passord:"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
 msgstr ""
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Nullstill passordet"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr ""
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 #, fuzzy
 msgid "Go back"
 msgstr "Gå tilbake"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr ""
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "Adgangsnivået ditt er for lavt for å kjøre dette scriptet"
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Databaseoppdaterer"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Utfør oppdateringene"
 
@@ -1208,7 +1197,7 @@ msgstr "Se nyhetsstrømmene"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 #, fuzzy
 msgid "View as RSS"
 msgstr "Se stikkord"
@@ -1218,17 +1207,17 @@ msgid "Select:"
 msgstr "Velg:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "Alle"
@@ -1238,17 +1227,17 @@ msgid "Invert"
 msgstr "Motsatt"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "Ingen"
@@ -1282,10 +1271,10 @@ msgid "Move back"
 msgstr "Gå tilbake"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 #, fuzzy
 msgid "Delete"
 msgstr "Standard"
@@ -1303,7 +1292,7 @@ msgid "Feed:"
 msgstr "Nyhetsstrøm:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Nyhetsstrømmen ble ikke funnet"
 
@@ -1317,151 +1306,151 @@ msgstr "Slett aldri"
 msgid "Imported at %s"
 msgstr "Importer"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "marker som lest"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 #, fuzzy
 msgid "Collapse article"
 msgstr "Fjern artikler"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "Ingen uleste artikler funnet som kunne vises"
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "Ingen oppdaterte artikler funnet som kunne vises"
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "Ingen markerte artikler som kan vises"
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 #, fuzzy
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
 msgstr "Ingen artikler ble funnet. Du kan gi artikler merkelapper manuelt (se aksjon-menyen ovenfor) eller bruke et filter."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "Ingen artikler funnet som kan vises"
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, fuzzy, php-format
 msgid "Feeds last updated at %s"
 msgstr "Oppdateringsfeil"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "Noen nyhetsstrømmer har oppdateringsfeil (trykk for detaljer)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Ingen valgt nyhetsstrøm"
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 #, fuzzy
 msgid "Feed or site URL"
 msgstr "Nyhetsstrøm"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Plasser i kategori..."
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 #, fuzzy
 msgid "Available feeds"
 msgstr "Alle Nyhetsstrømmer"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Autentifisering"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Logg inn"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 #, fuzzy
 msgid "Password"
 msgstr "Passord:"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Denne nyhetsstrømmen krever autentifisering"
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Abonner"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 #, fuzzy
 msgid "More feeds"
 msgstr "Flere nyhetsstrømmer"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Søk"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 #, fuzzy
 msgid "Popular feeds"
 msgstr "Vis nyhetsstrømmer"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 #, fuzzy
 msgid "Feed archive"
 msgstr "Nyhetsstrømshandlinger"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 #, fuzzy
 msgid "limit:"
 msgstr "Antall:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Fjern"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr ""
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Begrens søket til:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Denne nyhetsstrømmen"
 
@@ -1535,21 +1524,21 @@ msgid "Processing category: %s"
 msgstr "Plasser i kategori..."
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr ""
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 #, fuzzy
 msgid "Unable to move uploaded file."
 msgstr "Feil: Kan ikke laste opp OPMLfil"
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "Feil: Kan ikke laste opp OPMLfil"
@@ -1575,7 +1564,7 @@ msgid "User not found"
 msgstr "Brukeren ble  ikke funnet"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Registrert"
 
@@ -1591,112 +1580,112 @@ msgstr "Antall nyhetsstrømmer som abonneres på"
 msgid "Subscribed feeds"
 msgstr "Nyhetsstrømmer som abonneres på"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Tilgangsnivå:"
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Endre passordet til"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Alternativer:"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "E-post: "
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "La til bruker <b>%s</b> med passordet <b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "Kunne ikke lage brukeren <b>%s</b>"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "Brukeren <b>%s</b> finnes allerede."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, fuzzy, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 "Byttet passord forbruker <b>%s</b>\n"
 "\t\t\t\t\t til <b>%s</b>"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, fuzzy, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 "Byttet passord forbruker <b>%s</b>\n"
 "\t\t\t\t\t til <b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] Varsel om endring av passord"
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 #, fuzzy
 msgid "Select"
 msgstr "Velg:"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Lag bruker"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 #, fuzzy
 msgid "Details"
 msgstr "Daglig"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Rediger"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Tilgangsnivå"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Siste innlogging"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Trykk for å endre"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "Ingen brukere er valgt"
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "Ingen matchende brukere ble funnet"
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Overskrift"
 
@@ -1724,136 +1713,135 @@ msgstr "Laget merkelappen <b>%s</b>"
 msgid "Clear colors"
 msgstr "Fjern farger"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 #, fuzzy
 msgid "Articles matching this filter:"
 msgstr "Ingen filtre ble funnet."
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 #, fuzzy
 msgid "No recent articles matching this filter have been found."
 msgstr "Ingen filtre ble funnet."
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr ""
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Match"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr "Legg til"
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 #, fuzzy
 msgid "Apply actions"
 msgstr "Nyhetsstrømshandlinger"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Tillatt"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 #, fuzzy
 msgid "Match any rule"
 msgstr "Match på:"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 #, fuzzy
 msgid "Inverse matching"
 msgstr "Motsatt markering"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Test"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 #, fuzzy
 msgid "(inverse)"
 msgstr "(Motsatt)"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr ""
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr ""
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 #, fuzzy
 msgid "Reset sort order"
 msgstr "Nullstill passordet"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Tilbakestill poengsummene for artiklene"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Lag"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr ""
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "På felt:"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr "i"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #, fuzzy
 msgid "Save rule"
 msgstr "Lagre"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 #, fuzzy
 msgid "Add rule"
 msgstr "Legger til kategori for nyhetsstrømmer"
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Utfør handlingen"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "med parametrene:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #, fuzzy
 msgid "Save action"
 msgstr "Panelhandlinger"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 #, fuzzy
 msgid "Add action"
 msgstr "Nyhetsstrømshandlinger"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 msgid "[No caption]"
 msgstr "Ingen bildetekst"
 
@@ -2006,7 +1994,6 @@ msgid "Purge unread articles"
 msgstr "Slett uleste artikler"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "Motsatt titteloversikt (eldste først)"
 
@@ -2049,7 +2036,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr "Fjern alle HTML-koder utenom de mest vanlige når artikler leses."
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 #, fuzzy
 msgid "Customize stylesheet"
 msgstr "URL til brukerbestemt utseendemal (CSS)"
@@ -2254,96 +2241,95 @@ msgid "Reset to defaults"
 msgstr "Tilbake til standard"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr ""
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 msgstr ""
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr ""
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 #, fuzzy
 msgid "Description"
 msgstr "beskrivelse"
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr ""
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr ""
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr ""
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 #, fuzzy
 msgid "Clear data"
 msgstr "Slett nyhetsstrømsdata"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 #, fuzzy
 msgid "Enable selected plugins"
 msgstr "Bruk nyhetsstrømsikoner"
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 #, fuzzy
 msgid "Incorrect one time password"
 msgstr "Feil brukernavn og/eller passord"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 #, fuzzy
 msgid "Incorrect password"
 msgstr "Feil brukernavn og/eller passord"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr ""
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 #, fuzzy
 msgid "Create profile"
 msgstr "Lag filter"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 #, fuzzy
 msgid "(active)"
 msgstr "Tilpasset"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 #, fuzzy
 msgid "Remove selected profiles"
 msgstr "Fjerne valgte filtre?"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 #, fuzzy
 msgid "Activate profile"
 msgstr "Fjerne valgte filtre?"
@@ -2352,307 +2338,277 @@ msgstr "Fjerne valgte filtre?"
 msgid "Check to enable field"
 msgstr "Marker for å tillate felt"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 #, fuzzy
 msgid "Feed Title"
 msgstr "Tittel"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Oppdater"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Slett artikler:"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 #, fuzzy
 msgid "Hide from Popular feeds"
 msgstr "Skjul fra min nyhetsstrømslisten"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "Inkluder i e-postsammendraget"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr ""
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr ""
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Mellomlagre bilder lokalt på serveren"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 #, fuzzy
 msgid "Mark updated articles as unread"
 msgstr "Marker alle artikler som leste?"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 #, fuzzy
 msgid "Icon"
 msgstr "Handling"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr ""
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 #, fuzzy
 msgid "Resubscribe to push updates"
 msgstr "Abonnerer på følgende nyhetsstrømmer:"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Alt ferdig."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 #, fuzzy
 msgid "Feeds with errors"
 msgstr "Nyhetsstrømsredigerer"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 #, fuzzy
 msgid "Inactive feeds"
 msgstr "Hele nyhetsstrømmen"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 #, fuzzy
 msgid "Edit selected feeds"
 msgstr "Sletter den valgte nyhetsstrømmen..."
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 #, fuzzy
 msgid "Batch subscribe"
 msgstr "Avabonner"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 #, fuzzy
 msgid "Categories"
 msgstr "Kategori:"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 #, fuzzy
 msgid "Add category"
 msgstr "Legger til kategori for nyhetsstrømmer"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 #, fuzzy
 msgid "Remove selected"
 msgstr "Fjerne valgte filtre?"
 
-#: classes/pref/feeds.php:1361
-#, fuzzy
-msgid "(Un)hide empty categories"
-msgstr "Rediger kategorier"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 #, fuzzy
 msgid "More actions..."
 msgstr "Handlinger..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Slett manuelt"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Slett nyhetsstrømsdata"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr ""
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr ""
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 #, fuzzy
 msgid "Import my OPML"
 msgstr "Importerer OPML (bruker DOMXML-utvidelsen)..."
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr ""
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 #, fuzzy
 msgid "Include settings"
 msgstr "Inkluder i e-postsammendraget"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 #, fuzzy
 msgid "Export OPML"
 msgstr "Eksporter OPML"
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 #, fuzzy
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr "Publiserte artikler kan bli eksportert som en offentlig RSS-nyhetskanal og kan bli abonnert på av alle som vet adressen som blir spesifisert nedenfor."
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 #, fuzzy
 msgid "Firefox integration"
 msgstr "Firefox integrering"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr "Denne Tiny Tiny RSS siden kan bli brukt som nyhetsstrømsleser for Firefox ved å trykke på lenken nedenfor."
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Trykk her for å registrere denne siden som nyhetsstrømsleser"
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 #, fuzzy
 msgid "Published & shared articles / Generated feeds"
 msgstr "Sett poeng på nytt for artiklene i de valgte nyhetskanalene?"
 
-#: classes/pref/feeds.php:1489
-#, fuzzy
-msgid "Published articles and generated feeds"
-msgstr "Sett poeng på nytt for artiklene i de valgte nyhetskanalene?"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr "Publiserte artikler kan bli eksportert som en offentlig RSS-nyhetskanal og kan bli abonnert på av alle som vet adressen som blir spesifisert nedenfor."
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 #, fuzzy
 msgid "Display URL"
 msgstr "Vis stikkord"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr ""
 
-#: classes/pref/feeds.php:1502
-#, fuzzy
-msgid "Articles shared by URL"
-msgstr "Marker artikkel som favoritt"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr ""
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 #, fuzzy
 msgid "Unshare all articles"
 msgstr "Uleste artikler"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 #, fuzzy
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "Disse nyhetsstrømmene kunne ikke oppdateres på grunn av feil:"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 #, fuzzy
 msgid "Click to edit feed"
 msgstr "Trykk for å endre"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 #, fuzzy
 msgid "Unsubscribe from selected feeds"
 msgstr "Fjern abonnement på valgte nyhetsstrømmer"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Disse nyhetsstrømmene kunne ikke oppdateres på grunn av feil:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr ""
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr ""
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 #, fuzzy
 msgid "Feeds require authentication."
 msgstr "Denne nyhetsstrømmen krever autentifisering"
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr ""
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 #, fuzzy
 msgid "Refresh"
 msgstr "Oppdater"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "Fjern farger"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr ""
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 msgid "Filename"
 msgstr ""
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr ""
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "Dato"
 
-#: plugins/digest/digest_body.php:57
-#, fuzzy
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr ""
-"Din nettleser støtter ikke Javaskript som er nødvendig\n"
-"\t\tfor at dette programmet skal fungere ordentlig. Vennligst sjekk din \n"
-"\t\tnettlesers instillinger."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Hei, "
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr ""
-
 #: plugins/close_button/init.php:22
 #, fuzzy
 msgid "Close article"
@@ -2689,67 +2645,6 @@ msgstr "Passord har blitt endret."
 msgid "Old password is incorrect."
 msgstr "Gammelt passord er feil"
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr ""
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr ""
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr ""
-
-#: plugins/mobile/prefs.php:30
-#, fuzzy
-msgid "Enable categories"
-msgstr "Tillatt kategorisering av nyhetsstrømmer"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr ""
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr ""
-
-#: plugins/mobile/prefs.php:35
-#, fuzzy
-msgid "Browse categories like folders"
-msgstr "Tilbakestill kategorirekkefølgen"
-
-#: plugins/mobile/prefs.php:41
-#, fuzzy
-msgid "Show images in posts"
-msgstr "Ikke vis bilder i artiklene"
-
-#: plugins/mobile/prefs.php:46
-#, fuzzy
-msgid "Hide read articles and feeds"
-msgstr "Skjul/vis leste nyhetsstrømmer"
-
-#: plugins/mobile/prefs.php:51
-#, fuzzy
-msgid "Sort feeds by unread count"
-msgstr "Sorter nyhetsstrømer ut i fra antall uleste artikler"
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2794,12 +2689,12 @@ msgstr ""
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "Returner til Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 #, fuzzy
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Returner til Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr ""
 
@@ -2808,12 +2703,7 @@ msgid "Import and export"
 msgstr ""
 
 #: plugins/import_export/init.php:60
-#, fuzzy
-msgid "Article archive"
-msgstr "Artikkeldato"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
 msgstr ""
 
 #: plugins/import_export/init.php:65
@@ -2825,50 +2715,50 @@ msgstr "Eksporter OPML"
 msgid "Import"
 msgstr "Importer"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 #, fuzzy
 msgid "Could not import: incorrect schema version."
 msgstr "Kunne ikke finne den nødvendige skjemafilen, nødvendig versjon:"
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr ""
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr ""
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, fuzzy, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] "Endre Stikkord"
 msgstr[1] "Endre Stikkord"
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, fuzzy, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] "Allerede importert."
 msgstr[1] "Allerede importert."
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, fuzzy, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] "Ingen valgt nyhetsstrøm"
 msgstr[1] "Ingen valgt nyhetsstrøm"
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr ""
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 #, fuzzy
 msgid "Prepare data"
 msgstr "Lagre"
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 #, fuzzy
 msgid "No file uploaded."
@@ -2899,20 +2789,6 @@ msgstr "Skift e-post"
 msgid "Edit article note"
 msgstr "Endre Stikkord"
 
-#: plugins/example/init.php:36
-#, fuzzy
-msgid "Example Pane"
-msgstr "Eksempler"
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr ""
-
-#: plugins/example/init.php:73
-#, fuzzy
-msgid "Set value"
-msgstr "Sett som favorittartikkel"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -3048,23 +2924,22 @@ msgstr "Siste oppdatering:"
 msgid "Start update"
 msgstr "Siste oppdatering:"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Marker alle artikler i %s som leste?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 #, fuzzy
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "Marker alle artikler i %s som leste?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 #, fuzzy
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "Marker alle artikler i %s som leste?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 #, fuzzy
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "Marker alle artikler i %s som leste?"
@@ -3188,7 +3063,7 @@ msgid "Subscription reset."
 msgstr "Abonner på nyhetsstrøm..."
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "Fjerne abonnement på %s?"
 
@@ -3211,8 +3086,8 @@ msgid "Trying to change address..."
 msgstr "Prøver å endre adressen..."
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "Du kan ikke endre denne typen nyhetsstrøm"
 
@@ -3581,253 +3456,215 @@ msgstr ""
 msgid "Shared URLs cleared."
 msgstr ""
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Merkelappredigerer"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 #, fuzzy
 msgid "Subscribing to feeds..."
 msgstr "Abonnerer på nyhetsstrømmen..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr ""
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Marker alle artikler som leste?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr "Marker alle nyhetsstrømmer som lest"
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 #, fuzzy
 msgid "Please enable mail plugin first."
 msgstr "Vennligst velg en eller flere nyhetsstrømmer først"
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 #, fuzzy
 msgid "Please enable embed_original plugin first."
 msgstr "Vennligst velg en eller flere nyhetsstrømmer først"
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr ""
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "Du kan ikke fjerne abonnement fra kategorien."
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Vennligst velg en eller flere nyhetsstrømmer først"
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "Du kan ikke endre poengsummen for denne typen nyhetskanal"
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Endre poengene for artiklene i %s?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
 msgstr "Endrer poengsummen for artiklene..."
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 #, fuzzy
 msgid "New version available!"
 msgstr "Ny versjon av Tiny Tiny Rss er tilgjengelig!"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 #, fuzzy
 msgid "Cancel search"
 msgstr "Avbryt"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Fjern favorittmerkingen fra artiklen"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Marker artikkel som favoritt"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Fjern publiseringen av artikkelen."
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Publiser artiklen"
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 #, fuzzy
 msgid "%d article selected"
 msgid_plural "%d articles selected"
 msgstr[0] "Ingen artikkel er valgt."
 msgstr[1] "Ingen artikkel er valgt."
 
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "Ingen artikler er valgt."
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 #, fuzzy
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "Marker %d valgte artikler i %s som leste?"
 msgstr[1] "Marker %d valgte artikler i %s som leste?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 #, fuzzy
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "Fjerne merkede artikler fra merkelappen?"
 msgstr[1] "Fjerne merkede artikler fra merkelappen?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 #, fuzzy
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "Marker %d valgte artikler i %s som leste?"
 msgstr[1] "Marker %d valgte artikler i %s som leste?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 #, fuzzy
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "Favorittartikler"
 msgstr[1] "Favorittartikler"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
 msgstr ""
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 #, fuzzy
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "Marker %d valgte artikler i %s som leste?"
 msgstr[1] "Marker %d valgte artikler i %s som leste?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 #, fuzzy
 msgid "Edit article Tags"
 msgstr "Endre Stikkord"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
 msgstr "Lagrer artikkelens kategorier..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "Ingen artikkel er valgt."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "Ingen artikler funnet som kan markeres"
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 #, fuzzy
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "Marker %d artikkel/artikler som leste?"
 msgstr[1] "Marker %d artikkel/artikler som leste?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 #, fuzzy
 msgid "Open original article"
 msgstr "Vis opprinnelig artikkelinnhold"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 #, fuzzy
 msgid "Display article URL"
 msgstr "Vis stikkord"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 #, fuzzy
 msgid "Toggle marked"
 msgstr "Sett som favoritt"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Tildel stikkord"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 #, fuzzy
 msgid "Remove label"
 msgstr "Fjerne merkede merkelapper?"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 #, fuzzy
 msgid "Please enter new score for selected articles:"
 msgstr "Vennligst skriv inn et notat for denne artikkelen:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 #, fuzzy
 msgid "Please enter new score for this article:"
 msgstr "Vennligst skriv inn et notat for denne artikkelen:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 #, fuzzy
 msgid "Article URL:"
 msgstr "Alle artikler"
 
-#: plugins/digest/digest.js:72
-#, fuzzy
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "Marker %d artikkel/artikler som leste?"
-msgstr[1] "Marker %d artikkel/artikler som leste?"
-
-#: plugins/digest/digest.js:290
-#, fuzzy
-msgid "Error: unable to load article."
-msgstr "Feil: Kan ikke laste opp OPMLfil"
-
-#: plugins/digest/digest.js:464
-#, fuzzy
-msgid "Click to expand article."
-msgstr "Trykk for å utvide artikkel"
-
-#: plugins/digest/digest.js:535
-#, fuzzy
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "Laster hjelp..."
-msgstr[1] "Laster hjelp..."
-
-#: plugins/digest/digest.js:542
-#, fuzzy
-msgid "No unread feeds."
-msgstr "Skjul/vis leste nyhetsstrømmer"
-
-#: plugins/digest/digest.js:649
-#, fuzzy
-msgid "Load more..."
-msgstr "Laster hjelp..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr ""
@@ -3913,6 +3750,91 @@ msgstr "Marker artikkel som favoritt"
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
 msgstr ""
 
+#, fuzzy
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Rediger kategorier"
+
+#, fuzzy
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Sett poeng på nytt for artiklene i de valgte nyhetskanalene?"
+
+#, fuzzy
+#~ msgid "Articles shared by URL"
+#~ msgstr "Marker artikkel som favoritt"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Disse nyhetsstrømmene kunne ikke oppdateres på grunn av feil:"
+
+#, fuzzy
+#~ msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
+#~ msgstr ""
+#~ "Din nettleser støtter ikke Javaskript som er nødvendig\n"
+#~ "\t\tfor at dette programmet skal fungere ordentlig. Vennligst sjekk din \n"
+#~ "\t\tnettlesers instillinger."
+
+#~ msgid "Hello,"
+#~ msgstr "Hei, "
+
+#, fuzzy
+#~ msgid "Enable categories"
+#~ msgstr "Tillatt kategorisering av nyhetsstrømmer"
+
+#, fuzzy
+#~ msgid "Browse categories like folders"
+#~ msgstr "Tilbakestill kategorirekkefølgen"
+
+#, fuzzy
+#~ msgid "Show images in posts"
+#~ msgstr "Ikke vis bilder i artiklene"
+
+#, fuzzy
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "Skjul/vis leste nyhetsstrømmer"
+
+#, fuzzy
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "Sorter nyhetsstrømer ut i fra antall uleste artikler"
+
+#, fuzzy
+#~ msgid "Article archive"
+#~ msgstr "Artikkeldato"
+
+#, fuzzy
+#~ msgid "Example Pane"
+#~ msgstr "Eksempler"
+
+#, fuzzy
+#~ msgid "Set value"
+#~ msgstr "Sett som favorittartikkel"
+
+#, fuzzy
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "Marker %d artikkel/artikler som leste?"
+#~ msgstr[1] "Marker %d artikkel/artikler som leste?"
+
+#, fuzzy
+#~ msgid "Error: unable to load article."
+#~ msgstr "Feil: Kan ikke laste opp OPMLfil"
+
+#, fuzzy
+#~ msgid "Click to expand article."
+#~ msgstr "Trykk for å utvide artikkel"
+
+#, fuzzy
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "Laster hjelp..."
+#~ msgstr[1] "Laster hjelp..."
+
+#, fuzzy
+#~ msgid "No unread feeds."
+#~ msgstr "Skjul/vis leste nyhetsstrømmer"
+
+#, fuzzy
+#~ msgid "Load more..."
+#~ msgstr "Laster hjelp..."
+
 #, fuzzy
 #~ msgid "Show tag cloud..."
 #~ msgstr "Tag-sky"
index 768da061e43f2b24299250855e1bdb2d228ebdf5..0535f4450bc25f9b007862fa26f67b48cfca0496 100644 (file)
Binary files a/locale/nl_NL/LC_MESSAGES/messages.mo and b/locale/nl_NL/LC_MESSAGES/messages.mo differ
index 71f588c7576fd58002ce4e1612f950a3cdb2ae6c..a0e6363424d5bcb3015cd885f3823b824622ca69 100644 (file)
@@ -7,9 +7,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: TT-RSS\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
-"PO-Revision-Date: 2013-03-23 11:28+0100\n"
-"Last-Translator: Dingoe <translations@gvmelle.com>\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
+"PO-Revision-Date: 2013-05-02 13:55+0100\n"
+"Last-Translator: ArmyOfPirates\n"
 "Language-Team: translations <LL@li.org>\n"
 "Language: DUTCH\n"
 "MIME-Version: 1.0\n"
@@ -23,7 +23,7 @@ msgstr ""
 
 #: backend.php:73
 msgid "Use default"
-msgstr "Gebruik standaard"
+msgstr "Gebruik standaardwaarde"
 
 #: backend.php:74
 msgid "Never purge"
@@ -94,8 +94,8 @@ msgid "Weekly"
 msgstr "Wekelijks"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Gebruiker"
 
@@ -116,9 +116,8 @@ msgid "This program requires cookies to function properly. Your browser doesn't
 msgstr "Dit programma vereist cookies om goed te functioneren.  Uw browser lijkt dit niet te ondersteunen."
 
 #: errors.php:15
-#, fuzzy
 msgid "Backend sanity check failed."
-msgstr "Gezondheidscontrole server mislukt"
+msgstr "Gezondheidscontrole server is mislukt."
 
 #: errors.php:17
 msgid "Frontend sanity check failed."
@@ -149,11 +148,8 @@ msgid "Configuration check failed"
 msgstr "Configuratiecontrole mislukt"
 
 #: errors.php:31
-#, fuzzy
 msgid "Your version of MySQL is not currently supported. Please see official site for more information."
-msgstr ""
-"Uw versie van MySQL wordt niet ondersteund. Zie de\n"
-"\t\tofficiële website voor meer informatie."
+msgstr "Uw versie van MySQL wordt niet ondersteund. Zie de officiële website voor meer informatie."
 
 #: errors.php:35
 msgid "SQL escaping test failed, check your database and PHP configuration"
@@ -162,14 +158,13 @@ msgstr "SQL escaping test mislukt. Controleer uw database en de PHP configuratie
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -184,14 +179,14 @@ msgstr "SQL escaping test mislukt. Controleer uw database en de PHP configuratie
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -214,13 +209,13 @@ msgid "All Articles"
 msgstr "Alle artikelen"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "Met ster"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "Gepubliceerd"
@@ -232,17 +227,16 @@ msgid "Unread"
 msgstr "Ongelezen"
 
 #: index.php:170
-#, fuzzy
 msgid "Unread First"
-msgstr "Ongelezen"
+msgstr "Ongelezen eerst"
 
 #: index.php:171
 msgid "With Note"
-msgstr ""
+msgstr "Met notitie"
 
 #: index.php:172
 msgid "Ignore Scoring"
-msgstr "Score negeren"
+msgstr "Scores negeren"
 
 #: index.php:175
 msgid "Sort articles"
@@ -254,11 +248,11 @@ msgstr "Standaard"
 
 #: index.php:179
 msgid "Newest first"
-msgstr ""
+msgstr "Nieuwste eerst"
 
 #: index.php:180
 msgid "Oldest first"
-msgstr ""
+msgstr "Oudste eerst"
 
 #: index.php:181
 msgid "Title"
@@ -266,30 +260,29 @@ msgstr "Titel"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Markeren als gelezen"
 
 #: index.php:188
 msgid "Older than one day"
-msgstr ""
+msgstr "Ouder dan een dag"
 
 #: index.php:191
 msgid "Older than one week"
-msgstr ""
+msgstr "Ouder dan een week"
 
 #: index.php:194
 msgid "Older than two weeks"
-msgstr ""
+msgstr "Ouder dan twee weken"
 
 #: index.php:210
 msgid "Communication problem with server."
-msgstr "communicatieprobleem met de server."
+msgstr "Communicatieprobleem met de server."
 
 #: index.php:218
 msgid "New version of Tiny Tiny RSS is available!"
@@ -305,14 +298,14 @@ msgstr "Voorkeuren…"
 
 #: index.php:226
 msgid "Search..."
-msgstr "zoeken..."
+msgstr "Zoeken..."
 
 #: index.php:227
 msgid "Feed actions:"
 msgstr "Feed acties:"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Abonneren op feed..."
 
@@ -325,8 +318,8 @@ msgid "Rescore feed"
 msgstr "Feed opnieuw score geven"
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Abonnement opzeggen"
@@ -341,10 +334,10 @@ msgstr "Toon/Verberg gelezen feeds"
 
 #: index.php:235
 msgid "Other actions:"
-msgstr "andere acties:"
+msgstr "Andere acties:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 msgid "Toggle widescreen mode"
 msgstr "Wisselen breedbeeld modus"
 
@@ -354,75 +347,70 @@ msgstr "Selectie met tags..."
 
 #: index.php:238
 msgid "Create label..."
-msgstr "Aanmaken label…"
+msgstr "Label aanmaken…"
 
 #: index.php:239
 msgid "Create filter..."
-msgstr "Aanmaken filter…"
+msgstr "Filter aanmaken…"
 
 #: index.php:240
 msgid "Keyboard shortcuts help"
 msgstr "Hulp bij sneltoetscombinaties"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Afmelden"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Voorkeuren"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Sneltoetscombinaties"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Verlaat voorkeuren"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Feeds"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Filters"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "Labels"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Gebruikers"
 
-#: prefs.php:132
-#, fuzzy
+#: prefs.php:131
 msgid "System"
-msgstr "Systeem plug-ins"
+msgstr "Systeem"
 
 #: register.php:184
 #: include/login_form.php:238
 msgid "Create new account"
-msgstr "Aanmaken nieuw account"
+msgstr "Maak nieuw account aan"
 
 #: register.php:190
 msgid "New user registrations are administratively disabled."
-msgstr "Het registreren van nieuwe gebruikers is door de administrateur uitgeschakeld."
+msgstr "Het registreren van nieuwe gebruikers is door de beheerder uitgeschakeld."
 
 #: register.php:194
 #: register.php:239
@@ -432,13 +420,13 @@ msgstr "Het registreren van nieuwe gebruikers is door de administrateur uitgesch
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Ga terug naar Tiny Tiny RSS"
 
@@ -452,17 +440,17 @@ msgstr "Gewenst loginID:"
 
 #: register.php:224
 msgid "Check availability"
-msgstr "controleer beschikbaarheid"
+msgstr "Controleer beschikbaarheid"
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "E-mail:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
-msgstr "hoeveel is twee plus twee:"
+msgstr "Hoeveel is twee plus twee:"
 
 #: register.php:232
 msgid "Submit registration"
@@ -478,7 +466,7 @@ msgstr "Sorry, deze naam is al in gebruik."
 
 #: register.php:284
 msgid "Registration failed."
-msgstr "de registratie is mislukt."
+msgstr "Registratie is mislukt."
 
 #: register.php:331
 msgid "Account created successfully."
@@ -494,19 +482,19 @@ msgstr "Tiny Tiny RSS data update script."
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Ongecategoriseerd"
 
 #: include/feedbrowser.php:83
-#, fuzzy, php-format
+#, php-format
 msgid "%d archived article"
 msgid_plural "%d archived articles"
-msgstr[0] "%d gearchiveerde artikelen"
+msgstr[0] "%d gearchiveerd artikel"
 msgstr[1] "%d gearchiveerde artikelen"
 
 #: include/feedbrowser.php:107
@@ -514,305 +502,300 @@ msgid "No feeds found."
 msgstr "Geen feeds gevonden."
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Speciaal"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Alle feeds"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Artikelen met ster"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Gepubliceerde artikelen"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Nieuwe artikelen"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Alle artikelen"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "Gearchiveerde artikelen"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr "Recent gelezen"
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Navigatie"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 msgid "Open next feed"
 msgstr "Open volgende feed"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr "Open voorgaande feed"
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 msgid "Open next article"
 msgstr "Open volgende artikel"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 msgid "Open previous article"
 msgstr "Open voorgaand artikel"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr "Open volgend artikel (lange artikelen niet scrollen)"
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr "Open vorig artikel (lange artikelen niet scrollen)"
 
-#: include/functions.php:1964
-#, fuzzy
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
-msgstr "Open volgend artikel (lange artikelen niet scrollen)"
+msgstr "Open volgend artikel (niet uitklappen of markeren als gelezen)"
 
-#: include/functions.php:1965
-#, fuzzy
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
-msgstr "Open vorig artikel (lange artikelen niet scrollen)"
+msgstr "Open vorig artikel (niet uitklappen of markeren als gelezen)"
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
-msgstr "toon zoekdialoogvenster"
+msgstr "Toon zoekdialoogvenster"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 msgid "Article"
 msgstr "Artikel"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "In/uitschakelen sterren"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "In/uitschakelen gepubliceerd"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "In/uitschakelen gelezen"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Bewerk tags"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 msgid "Dismiss selected"
 msgstr "Geselecteerde negeren"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 msgid "Dismiss read"
 msgstr "Gelezene negeren"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 msgid "Open in new window"
-msgstr "open in nieuw venster"
+msgstr "Open in nieuw venster"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr "Hieronder markeren als gelezen"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 msgid "Mark above as read"
-msgstr "hierboven markeren als gelezen"
+msgstr "Hierboven markeren als gelezen"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 msgid "Scroll down"
 msgstr "Omlaag scrollen"
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr "Omhoog scrollen"
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 msgid "Select article under cursor"
 msgstr "Selecteer artikel onder de cursor"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr "E-mail artikel"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 msgid "Close/collapse article"
 msgstr "Sluiten/inklappen artikel"
 
-#: include/functions.php:1982
-#, fuzzy
+#: include/functions.php:1983
 msgid "Toggle article expansion (combined mode)"
-msgstr "In/uitschakelen gecombineerde modus"
+msgstr "In/uitschakelen artikel uitklappen (gecombineerde modus)"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 msgid "Toggle embed original"
 msgstr "In/uitschakelen origineel  insluiten"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 msgid "Article selection"
 msgstr "Artikelselectie"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr "Selecteer alle artikelen"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 msgid "Select unread"
 msgstr "Selecteer ongelezen"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 msgid "Select starred"
 msgstr "Selecteer met ster"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 msgid "Select published"
 msgstr "Selecteer gepubliceerde"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 msgid "Invert selection"
-msgstr "Omdraaien selectie"
+msgstr "Keer selectie om"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 msgid "Deselect everything"
 msgstr "Deselecteer alles"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Feed"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 msgid "Refresh current feed"
 msgstr "Ververs huidige feed"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 msgid "Un/hide read feeds"
 msgstr "Toon/Verberg gelezen feeds"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Abonneer op feed"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Bewerk feed"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 msgid "Reverse headlines"
 msgstr "Draai kopteksten om"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 msgid "Debug feed update"
 msgstr "Debug feed update"
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Markeer alle feeds als gelezen"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 msgid "Un/collapse current category"
 msgstr "Uit/Inklappen huidige categorie"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 msgid "Toggle combined mode"
 msgstr "In/uitschakelen gecombineerde modus"
 
-#: include/functions.php:2003
-#, fuzzy
+#: include/functions.php:2004
 msgid "Toggle auto expand in combined mode"
-msgstr "In/uitschakelen gecombineerde modus"
+msgstr "In/uitschakelen automatisch uitklappen in gecombineerde modus"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 msgid "Go to"
 msgstr "Ga naar"
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr "Nieuw"
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Tag wolk"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 msgid "Other"
 msgstr "Andere"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
-msgstr "Aanmaken label"
+msgstr "Maak label"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
-msgstr "Aanmaken filter"
+msgstr "Maak filter"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 msgid "Un/collapse sidebar"
 msgstr "Uit/Inklappen zijbalk"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 msgid "Show help dialog"
 msgstr "Toon helpdialoogvenster"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
-msgstr "zoekresultaten: %s"
+msgstr "Zoekresultaten: %s"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "geen tags"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Bewerk tags voor dit artikel"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 msgid "Originally from:"
 msgstr "Oorspronkelijk uit:"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr "Feed URL"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -822,53 +805,50 @@ msgstr "Feed URL"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Sluit dit venster"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr "(bewerk notitie)"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
-msgstr "Onbekend type"
+msgstr "onbekend type"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 msgid "Attachments"
 msgstr "Bijlagen"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
-msgstr ""
+msgstr "LibXML fout %s op regel %d (kolom %d): %s"
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Aanmelden:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "Wachtwoord:"
 
 #: include/login_form.php:199
-#, fuzzy
 msgid "I forgot my password"
-msgstr "Onjuist wachtwoord"
+msgstr "Ik ben mijn wachtwoord vergeten"
 
 #: include/login_form.php:205
 msgid "Profile:"
@@ -877,7 +857,7 @@ msgstr "Profiel:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "Standaard profiel"
 
@@ -887,15 +867,14 @@ msgstr "Gebruik minder dataverkeer"
 
 #: include/login_form.php:221
 msgid "Does not display images in articles, reduces automatic refreshes."
-msgstr ""
+msgstr "Geeft geen afbeeldingen weer in artikelen, vermindert automatisch herladen."
 
 #: include/login_form.php:229
 msgid "Remember me"
-msgstr ""
+msgstr "Onthoud mij"
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "Aanmelden"
 
@@ -912,12 +891,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "Tags voor dit artikel (komma gescheiden):"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -927,19 +906,19 @@ msgstr "Opslaan"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -948,7 +927,7 @@ msgid "Cancel"
 msgstr "Annuleren"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 msgid "Share with Tiny Tiny RSS"
 msgstr "Deel met Tiny Tiny RSS"
 
@@ -957,8 +936,8 @@ msgid "Title:"
 msgstr "Titel:"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -984,93 +963,90 @@ msgstr "Delen"
 msgid "Not logged in"
 msgstr "Niet ingelogd"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Onjuiste gebruikersnaam of wachtwoord"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Reeds geabonneerd op <b>%s</b>."
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Geabonneerd op  <b>%s</b>."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Kon niet abonneren op  <b>%s</b>."
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "Geen feeds gevonden in <b>%s</b>."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 msgid "Multiple feed URLs found."
 msgstr "Meerdere feed-URL's gevonden."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "Kon niet abonneren op  <b>%s</b>.<br>Kon de feed URL niet downloaden."
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr "Abonneren op de geselecteerde feed"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Bewerk abonnement opties"
 
-#: classes/handler/public.php:739
-#, fuzzy
+#: classes/handler/public.php:745
 msgid "Password recovery"
-msgstr "Wachtwoord"
+msgstr "Wachtwoordherstel"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
-msgstr ""
+msgstr "Je moet een geldige naam en emailadres opgeven. Het nieuwe wachtwoord wordt naar je emailadres verzonden."
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Herstel wachtwoord"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
-msgstr ""
+msgstr "Sommige vereiste velden ontbreken of zijn onjuist."
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
-#, fuzzy
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 msgid "Go back"
-msgstr "Terugzetten"
+msgstr "Ga terug"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
-msgstr ""
+msgstr "Sorry, deze combinatie van naam en wachtwoord is onbekend."
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "Uw toegangsrechten zijn niet voldoende om dit script uit te voeren."
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Database updater"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Voor de updates uit"
 
@@ -1089,7 +1065,7 @@ msgstr "Genereer nieuwe URL"
 
 #: classes/dlg.php:71
 msgid "Update daemon is enabled in configuration, but daemon process is not running, which prevents all feeds from updating. Please start the daemon process or contact instance owner."
-msgstr "De update deamon is ingeschakeld in de configuratie, maar het deamon proces loopt niet. Dit voorkomt dat alle feeds wordt bijgewerkt. Start het deamon proces of contacteer de eigenaar van deze instantie."
+msgstr "De update daemon is ingeschakeld in de configuratie, maar het achtergrondproces loopt niet. Dit voorkomt dat alle feeds wordt bijgewerkt. Start het achtergrondproces of contacteer de eigenaar van deze instantie."
 
 #: classes/dlg.php:75
 #: classes/dlg.php:84
@@ -1098,7 +1074,7 @@ msgstr "Laatste update:"
 
 #: classes/dlg.php:80
 msgid "Update daemon is taking too long to perform a feed update. This could indicate a problem like crash or a hang. Please check the daemon process or contact instance owner."
-msgstr "De update deamon neemt te veel tijd om een feed bij te werken. Dit kan betekenen dat het proces is gescrashed of hangt. Controleer het deamon proces of contacteer de eigenaar van deze instantie."
+msgstr "De update daemon neemt te veel tijd om een feed bij te werken. Dit kan betekenen dat het proces is gescrashed of hangt. Controleer het achtergrondproces of contacteer de eigenaar van deze instantie."
 
 #: classes/dlg.php:166
 msgid "Match:"
@@ -1137,7 +1113,7 @@ msgstr "U kunt updaten met behulp van de ingebouwde updater in de Voorkeuren of
 #: classes/dlg.php:245
 #: plugins/updater/init.php:335
 msgid "See the release notes"
-msgstr ""
+msgstr "Zie de uitgave opmerkingen"
 
 #: classes/dlg.php:247
 msgid "Download"
@@ -1145,12 +1121,12 @@ msgstr "Downloaden"
 
 #: classes/dlg.php:255
 msgid "Error receiving version information or no new version available."
-msgstr "Fout bij verkrijgen van informatie over de versie, of geen nieuwe versie beschikbaar."
+msgstr "Fout bij verkrijgen van versie informatie, of geen nieuwe versie beschikbaar."
 
 #: classes/feeds.php:56
-#, fuzzy, php-format
+#, php-format
 msgid "Last updated: %s"
-msgstr "Laatste update:"
+msgstr "Laatst geüpdatet: %s"
 
 #: classes/feeds.php:75
 msgid "View as RSS feed"
@@ -1158,7 +1134,7 @@ msgstr "Toon als RSS feed"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "Toon als RSS"
 
@@ -1167,17 +1143,17 @@ msgid "Select:"
 msgstr "Selecteer:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "Alles"
@@ -1187,17 +1163,17 @@ msgid "Invert"
 msgstr "Omkeren"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "Niets"
@@ -1220,17 +1196,17 @@ msgstr "Geef score"
 
 #: classes/feeds.php:107
 msgid "Archive"
-msgstr "Archief"
+msgstr "Archiveer"
 
 #: classes/feeds.php:109
 msgid "Move back"
 msgstr "Terugzetten"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "Verwijderen"
 
@@ -1239,170 +1215,168 @@ msgstr "Verwijderen"
 #: plugins/mailto/init.php:25
 #: plugins/mail/init.php:26
 msgid "Forward by email"
-msgstr "doorsturen per e-mail"
+msgstr "Doorsturen per e-mail"
 
 #: classes/feeds.php:124
 msgid "Feed:"
 msgstr "Feed:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Feed niet gevonden."
 
 #: classes/feeds.php:254
-#, fuzzy
 msgid "Never"
-msgstr "Nooit opschonen"
+msgstr "Nooit"
 
 #: classes/feeds.php:360
-#, fuzzy, php-format
+#, php-format
 msgid "Imported at %s"
-msgstr "Importeren"
+msgstr "Geïmporteerd op %s"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
-msgstr "Markeer als gelezen"
+msgstr "markeer als gelezen"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 msgid "Collapse article"
 msgstr "Artikel inklappen"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "Er zijn geen ongelezen artikelen gevonden om weer te geven."
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "Geen bijgewerkte artikelen gevonden om weer te geven."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "Er zijn geen artikelen met ster gevonden om weer te geven."
 
-#: classes/feeds.php:748
-#, fuzzy
+#: classes/feeds.php:735
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
-msgstr "Geen artikelen gevonden voor weergave. U kunt artikelen handmatig aan labels toekennen (zie het Actie menu hierboven) of een filter gebruiken."
+msgstr "Geen artikelen gevonden voor weergave. U kunt handmatig labels aan artikels toekennen (zie het Actie menu hierboven) of een filter gebruiken."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "Geen artikelen gevonden om weer te geven."
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "Feeds laatst bijgewerkt op %s"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "Sommige feeds hebben update fouten (klik voor details)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Geen feeds geselecteerd."
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 msgid "Feed or site URL"
 msgstr "Feed of website URL"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Plaats in categorie:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "Beschikbare feeds"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Authenticatie"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "LoginID"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "Wachtwoord"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Deze feed vereist authenticatie."
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Abonneren"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "Meer feeds"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Zoeken"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr "Populaire feeds"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr "Feed archief"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
-msgstr "Beperking:"
+msgstr "beperking:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Verwijderen"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "Zoek naar"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Beperk zoeken naar:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Deze feed"
 
 #: classes/backend.php:33
 msgid "Other interface tips are available in the Tiny Tiny RSS wiki."
-msgstr "andere interface tips zijn te vinden in de Tiny Tiny RSS wiki."
+msgstr "Andere interface tips zijn te vinden in de Tiny Tiny RSS wiki."
 
 #: classes/backend.php:38
 msgid "Keyboard Shortcuts"
@@ -1460,7 +1434,7 @@ msgstr "Instellen voorkeursleutel %s op %s"
 
 #: classes/opml.php:339
 msgid "Adding filter..."
-msgstr "filter toevoegen..."
+msgstr "Filter toevoegen..."
 
 #: classes/opml.php:416
 #, php-format
@@ -1468,34 +1442,32 @@ msgid "Processing category: %s"
 msgstr "Verwerken categorie: %s"
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
-msgstr ""
+msgstr "Upload mislukt met fout nummer %d"
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
-#, fuzzy
 msgid "Unable to move uploaded file."
-msgstr "Fout: kan artikel niet laden."
+msgstr "Kan het geüploade bestand niet verplaatsen."
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
-msgstr "Fout: OPML-bestand uploaden aub."
+msgstr "Fout: OPML bestand uploaden aub."
 
 #: classes/opml.php:492
-#, fuzzy
 msgid "Error: unable to find moved OPML file."
-msgstr "Fout: kan artikel niet laden."
+msgstr "Fout: kan het verplaatste OPML bestand niet vinden."
 
 #: classes/opml.php:499
 #: plugins/googlereaderimport/init.php:186
 msgid "Error while parsing document."
-msgstr "Fout bij het parseren van het document."
+msgstr "Fout bij het parsen van het document."
 
 #: classes/pref/users.php:6
 #: classes/pref/system.php:8
@@ -1508,7 +1480,7 @@ msgid "User not found"
 msgstr "Gebruiker niet gevonden"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Geregistreerd"
 
@@ -1524,110 +1496,106 @@ msgstr "Aantal geabonneerde feeds"
 msgid "Subscribed feeds"
 msgstr "Geabonneerde feeds"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Toegangsniveau:"
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Wijzig wachtwoord naar"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Opties"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "E-mail: "
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "Gebruiker <b>%s</b> toegevoegd met wachtwoord <b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "Kon gebruiker <b>%s</b> niet aanmaken"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "Gebruiker <b>%s</b> bestaat al."
 
-#: classes/pref/users.php:273
-#, fuzzy, php-format
+#: classes/pref/users.php:269
+#, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
-msgstr ""
-"Wijzig wachtwoord van gebruiker<b>%s</b>\n"
-"\t\t\t\t naar <b>%s</b>"
+msgstr "Wachtwoord van gebruiker<b>%s</b> naar <b>%s</b> gewijzigd"
 
-#: classes/pref/users.php:275
-#, fuzzy, php-format
+#: classes/pref/users.php:271
+#, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
-msgstr ""
-"Wijzig wachtwoord van gebruiker<b>%s</b>\n"
-"\t\t\t\t naar <b>%s</b>"
+msgstr "Wachtwoord van gebruiker<b>%s</b>naar <b>%s</b> versturen"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] Melding verandering van wachtwoord"
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 msgid "Select"
 msgstr "Selecteer"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Gebruiker aanmaken"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "Details"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Bewerken"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Toegangsniveau"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Laatste loginID"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
-msgstr "Klik voor bewerken"
+msgstr "Klik om te bewerken"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "Geen gebruikers gedefinieerd."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
-msgstr "geen overeenkomstige gebruikers gevonden."
+msgstr "Geen overeenkomstige gebruikers gevonden."
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Onderschrift"
 
@@ -1646,136 +1614,132 @@ msgstr "Achtergrond:"
 #: classes/pref/labels.php:232
 #, php-format
 msgid "Created label <b>%s</b>"
-msgstr "aangemaakt label <b>%s</b>"
+msgstr "Label <b>%s</b> aangemaakt"
 
 #: classes/pref/labels.php:287
 msgid "Clear colors"
 msgstr "Wis kleuren"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr "Artikelen volgens dit filter:"
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 msgid "No recent articles matching this filter have been found."
 msgstr "Er zijn geen recente artikelen die overeenkomen met dit filter gevonden."
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
-msgstr "complexe expressies kunnen geen resultaat geven bij het testen, tengevolge van problemen bij de database server's regexp implementatie."
+msgstr "Complexe expressies kunnen geen resultaat geven bij het testen, tengevolge van problemen bij de database server's regexp implementatie."
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Match"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr "Toevoegen"
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 msgid "Apply actions"
 msgstr "Acties toepassen"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Ingeschakeld"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr "Match elke regel"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
-#, fuzzy
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 msgid "Inverse matching"
-msgstr "Omdraaien selectie"
+msgstr "Omgekeerde matching"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Test"
 
-#: classes/pref/filters.php:435
-#, fuzzy
+#: classes/pref/filters.php:433
 msgid "(inverse)"
-msgstr "Omgekeerd"
+msgstr "(omgekeerd)"
 
-#: classes/pref/filters.php:434
-#, fuzzy, php-format
+#: classes/pref/filters.php:432
+#, php-format
 msgid "%s on %s in %s %s"
-msgstr "%s op %s in %s"
+msgstr "%s op %s in %s %s"
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr "Combineren"
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "Herstel sorteervolgorde"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Artikelen nieuwe score geven"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Aanmaken"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
-msgstr ""
+msgstr "Omgekeerde regular expression matching"
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "op veld"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr "in"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 msgid "Save rule"
 msgstr "Regel opslaan"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 msgid "Add rule"
-msgstr "regel toevoegen"
+msgstr "Regel toevoegen"
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
-msgstr "Actie doorvoeren"
+msgstr "Actie uitvoeren"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "met parameters:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 msgid "Save action"
 msgstr "Actie opslaan"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 msgid "Add action"
 msgstr "Actie toevoegen"
 
-#: classes/pref/filters.php:966
-#, fuzzy
+#: classes/pref/filters.php:964
 msgid "[No caption]"
-msgstr "Onderschrift"
+msgstr "[Geen onderschrift]"
 
 #: classes/pref/prefs.php:18
 msgid "General"
@@ -1791,12 +1755,11 @@ msgstr "Geavanceerd"
 
 #: classes/pref/prefs.php:21
 msgid "Digest"
-msgstr ""
+msgstr "Samenvatting"
 
 #: classes/pref/prefs.php:25
-#, fuzzy
 msgid "Allow duplicate articles"
-msgstr "toestaan dubbele berichten"
+msgstr "Sta dubbele artikels  toe"
 
 #: classes/pref/prefs.php:26
 msgid "Assign articles to labels automatically"
@@ -1807,7 +1770,6 @@ msgid "Blacklisted tags"
 msgstr "Op de zwarte lijst geplaatste tags"
 
 #: classes/pref/prefs.php:27
-#, fuzzy
 msgid "When auto-detecting tags in articles these tags will not be applied (comma-separated list)."
 msgstr "Wanneer tags automatisch worden gedetecteerd in artikelen, zullen deze tags niet worden toegekend (komma-gescheiden lijst)."
 
@@ -1816,9 +1778,8 @@ msgid "Automatically mark articles as read"
 msgstr "Artikelen automatisch als gelezen markeren"
 
 #: classes/pref/prefs.php:28
-#, fuzzy
 msgid "This option enables marking articles as read automatically while you scroll article list."
-msgstr "Deze optie schakelt het automatisch markeren als gelezen van artikelen in, terwijl u door de artikellijst scrolt."
+msgstr "Deze optie schakelt het automatisch markeren als gelezen van artikelen (terwijl u door de artikellijst scrolt) in."
 
 #: classes/pref/prefs.php:29
 msgid "Automatically expand articles in combined mode"
@@ -1834,33 +1795,31 @@ msgstr "Uitgeklapte lijst van artikelen weergeven in plaats van afzonderlijke we
 
 #: classes/pref/prefs.php:31
 msgid "Confirm marking feed as read"
-msgstr "Bevestigen feed markeren als gelezen"
+msgstr "Bevestig feed markeren als gelezen"
 
 #: classes/pref/prefs.php:32
 msgid "Amount of articles to display at once"
 msgstr "Aantal tegelijkertijd weer te geven artikelen "
 
 #: classes/pref/prefs.php:33
-#, fuzzy
 msgid "Default feed update interval"
-msgstr "Standaard interval"
+msgstr "Standaard feed update interval"
 
 #: classes/pref/prefs.php:33
 msgid "Shortest interval at which a feed will be checked for updates regardless of update method"
-msgstr ""
+msgstr "Kortste interval waarmee een feed wordt gecontroleerd op updates, onafhankelijk van upate methode"
 
 #: classes/pref/prefs.php:34
 msgid "Mark articles in e-mail digest as read"
 msgstr "Markeer artikelen in e-mail samenvatting als gelezen"
 
 #: classes/pref/prefs.php:35
-#, fuzzy
 msgid "Enable e-mail digest"
-msgstr "Inschakelen e-mail samenvatting"
+msgstr "Schakel e-mail samenvatting in"
 
 #: classes/pref/prefs.php:35
 msgid "This option enables sending daily digest of new (and unread) headlines on your configured e-mail address"
-msgstr "Deze optie schakelt het verzenden in van een dagelijkse samenvatting van nieuwe (en ongelezen) kopteksten naar het door u ingestelde e-mailadres"
+msgstr "Deze optie schakelt het verzenden van een dagelijkse samenvatting van nieuwe (en ongelezen) kopteksten naar het door u ingestelde e-mailadres in"
 
 #: classes/pref/prefs.php:36
 msgid "Try to send digests around specified time"
@@ -1872,11 +1831,11 @@ msgstr "Gebruikt UTC tijdzone"
 
 #: classes/pref/prefs.php:37
 msgid "Enable API access"
-msgstr ""
+msgstr "Sta API toegang toe"
 
 #: classes/pref/prefs.php:37
 msgid "Allows external clients to access this account through the API"
-msgstr ""
+msgstr "Laat externe clienten to tot dit account via de API"
 
 #: classes/pref/prefs.php:38
 msgid "Enable feed categories"
@@ -1891,12 +1850,10 @@ msgid "Maximum age of fresh articles (in hours)"
 msgstr "Maximum leeftijd van nieuwe artikelen (uren) "
 
 #: classes/pref/prefs.php:41
-#, fuzzy
 msgid "Hide feeds with no unread articles"
 msgstr "Feeds zonder ongelezen artikelen verbergen"
 
 #: classes/pref/prefs.php:42
-#, fuzzy
 msgid "Show special feeds when hiding read feeds"
 msgstr "Toon speciale feeds bij verbergen gelezen feeds"
 
@@ -1906,7 +1863,7 @@ msgstr "Lang datumformaat"
 
 #: classes/pref/prefs.php:44
 msgid "On catchup show next feed"
-msgstr "toon volgende feed na bijwerken"
+msgstr "Toon volgende feed na bijwerken"
 
 #: classes/pref/prefs.php:44
 msgid "Automatically open next feed with unread articles after marking one as read"
@@ -1921,7 +1878,6 @@ msgid "Purge unread articles"
 msgstr "Ongelezen artikelen permanent verwijderen"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "Draai de koptekst volgorde om (oudste eerst)"
 
@@ -1931,7 +1887,7 @@ msgstr "Korte datumformaat"
 
 #: classes/pref/prefs.php:49
 msgid "Show content preview in headlines list"
-msgstr "toon voorbeeld van inhoud in lijst van kopteksten"
+msgstr "Toon voorbeeld van inhoud in lijst van kopteksten"
 
 #: classes/pref/prefs.php:50
 msgid "Sort headlines by feed date"
@@ -1962,7 +1918,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr "Verwijder alles behalve de meest algemene HTML tags bij het lezen van artikelen."
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "Aanpassen opmaakmodel"
 
@@ -1971,7 +1927,6 @@ msgid "Customize CSS stylesheet to your liking"
 msgstr "Aanpassen CSS opmaakmodel aan uw voorkeur"
 
 #: classes/pref/prefs.php:55
-#, fuzzy
 msgid "Time zone"
 msgstr "Gebruiker's tijdzone"
 
@@ -1981,20 +1936,19 @@ msgstr "Kopteksten in virtuele feeds groeperen"
 
 #: classes/pref/prefs.php:56
 msgid "Special feeds, labels, and categories are grouped by originating feeds"
-msgstr ""
+msgstr "Speciale feeds, labels en categorieën worden gegroepeerd op oorspronkelijke feeds"
 
 #: classes/pref/prefs.php:57
-#, fuzzy
 msgid "Language"
-msgstr "Taal:"
+msgstr "Taal"
 
 #: classes/pref/prefs.php:58
 msgid "Theme"
-msgstr ""
+msgstr "Thema"
 
 #: classes/pref/prefs.php:58
 msgid "Select one of the available CSS themes"
-msgstr ""
+msgstr "Selecteer een van de beschikbare CSS themas"
 
 #: classes/pref/prefs.php:69
 msgid "Old password cannot be blank."
@@ -2027,7 +1981,7 @@ msgstr "Uw persoonlijke gegevens zijn opgeslagen."
 
 #: classes/pref/prefs.php:176
 msgid "Your preferences are now set to default values."
-msgstr ""
+msgstr "Je voorkeuren zijn nu ingesteld op de standaardwaarden."
 
 #: classes/pref/prefs.php:198
 msgid "Personal data / Authentication"
@@ -2039,7 +1993,7 @@ msgstr "Persoonlijke gegevens"
 
 #: classes/pref/prefs.php:228
 msgid "Full name"
-msgstr "volledige naam"
+msgstr "Volledige naam"
 
 #: classes/pref/prefs.php:232
 msgid "E-mail"
@@ -2059,7 +2013,7 @@ msgstr "Uw wachtwoord staat op de standaard waarde. Verander het aub."
 
 #: classes/pref/prefs.php:294
 msgid "Changing your current password will disable OTP."
-msgstr ""
+msgstr "Je wachtwoord wijzigen schakelt Eenmalig Wachtwoord uit."
 
 #: classes/pref/prefs.php:299
 msgid "Old password"
@@ -2071,7 +2025,7 @@ msgstr "Nieuw wachtwoord"
 
 #: classes/pref/prefs.php:307
 msgid "Confirm password"
-msgstr "Bevestigen wachtwoord"
+msgstr "Bevestig wachtwoord"
 
 #: classes/pref/prefs.php:317
 msgid "Change password"
@@ -2079,11 +2033,11 @@ msgstr "Wijzig wachtwoord"
 
 #: classes/pref/prefs.php:323
 msgid "One time passwords / Authenticator"
-msgstr "eenmalig wachtwoord / Authenticator"
+msgstr "Eenmalig wachtwoord / Authenticator"
 
 #: classes/pref/prefs.php:327
 msgid "One time passwords are currently enabled. Enter your current password below to disable."
-msgstr ""
+msgstr "Eenmalig wachtwoord is geactiveerd. Voer je huidige wachtwoord in om dit uit te schakelen."
 
 #: classes/pref/prefs.php:352
 #: classes/pref/prefs.php:403
@@ -2092,32 +2046,31 @@ msgstr "Vul uw wachtwoord in"
 
 #: classes/pref/prefs.php:363
 msgid "Disable OTP"
-msgstr "EWW (Eenmalig wachtwoord) uitschakelen"
+msgstr "EW (Eenmalig wachtwoord) uitschakelen"
 
 #: classes/pref/prefs.php:369
 msgid "You will need a compatible Authenticator to use this. Changing your password would automatically disable OTP."
-msgstr "U heeft een compatibele Authenticator nodig om dit te gebruiken. Veranderen van wachtwoord schakelt automatisch EWW uit."
+msgstr "U heeft een compatibele Authenticator nodig om dit te gebruiken. Veranderen van wachtwoord schakelt automatisch EW uit."
 
 #: classes/pref/prefs.php:371
 msgid "Scan the following code by the Authenticator application:"
 msgstr "Scan de volgende code met de Authenticator applicatie:"
 
 #: classes/pref/prefs.php:408
-#, fuzzy
 msgid "Enter the generated one time password"
-msgstr "Geef aub uw eenmalig wachtwoord:"
+msgstr "Geef aub uw eenmalig wachtwoord"
 
 #: classes/pref/prefs.php:422
 msgid "Enable OTP"
-msgstr "Inschakelen EWW"
+msgstr "Inschakelen EW"
 
 #: classes/pref/prefs.php:428
 msgid "PHP GD functions are required for OTP support."
-msgstr ""
+msgstr "PHP GD functies zijn noodzakelijk voor EW ondersteuning."
 
 #: classes/pref/prefs.php:471
 msgid "Some preferences are only available in default profile."
-msgstr ""
+msgstr "Sommige instellingen zijn alleen beschikbaar in het standaard profiel."
 
 #: classes/pref/prefs.php:569
 msgid "Customize"
@@ -2141,7 +2094,6 @@ msgid "Save configuration"
 msgstr "Configuratie opslaan"
 
 #: classes/pref/prefs.php:675
-#, fuzzy
 msgid "Save and exit preferences"
 msgstr "Verlaat voorkeuren"
 
@@ -2154,89 +2106,87 @@ msgid "Reset to defaults"
 msgstr "Terugzetten naar de standaardwaarden"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr "Plug-ins"
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
-msgstr ""
+msgstr "Je moet Tiny Tiny RSS herladen om wijzigingen te kunnen zien."
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
-msgstr ""
+msgstr "Download meer plugins van tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forum</a> of <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr "Systeem plug-ins"
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr "Plug-in"
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 msgid "Description"
 msgstr "Omschrijving"
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr "Versie"
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr "Auteur"
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
-msgstr ""
+msgstr "meer info"
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 msgid "Clear data"
 msgstr "Wis data"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr "Gebruiker's plug-ins"
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 msgid "Enable selected plugins"
 msgstr "Geselecteerd plug-ins inschakelen"
 
-#: classes/pref/prefs.php:922
-#, fuzzy
+#: classes/pref/prefs.php:920
 msgid "Incorrect one time password"
-msgstr "Onjuist wachtwoord"
+msgstr "Onjuist Eenmalig Wachtwoord"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 msgid "Incorrect password"
 msgstr "Onjuist wachtwoord"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr "U kunt door de CSS-declaraties aan te passen de kleuren, lettertypen en lay-out van uw huidige thema hier aanpassen. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">Dit bestand</a> kan als richtlijn worden gebruikt."
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "Maak profiel"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(actief)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "Verwijder geselecteerde profielen"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "Activeer profiel"
 
@@ -2244,280 +2194,251 @@ msgstr "Activeer profiel"
 msgid "Check to enable field"
 msgstr "Aanvinken om veld in te schakelen"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "Feed titel"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Bijwerken"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Artikelopschoning:"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr "<b>Hint:</b> U moet uw aanmeld informatie invullen als uw feed authenticatie vereist, behalve voor Twitter feeds."
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "Verbergen voor populaire feeds"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
-msgstr "toevoegen aan e-mail samenvatting"
+msgstr "Toevoegen aan e-mail samenvatting"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Altijd afbeeldingsbijlagen weergeven"
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr "Afbeeldingen niet insluiten."
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Afbeelding lokaal in cache plaatsen"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "Markeer bijgewerkte artikelen als niet-gelezen"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
-msgstr "Icon"
+msgstr "Pictogram"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "Vervangen"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr "Herabonneren voor push updates"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr "Herstelt PubSubHubbub abonnement status voor gepushte feeds."
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Alles gedaan."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "Feeds met fouten"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 msgid "Inactive feeds"
 msgstr "Inactieve feeds"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "Bewerk geselecteerde feeds"
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr "Batchmatig abonneren"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 msgid "Categories"
 msgstr "Categorieën"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 msgid "Add category"
 msgstr "Categorie toevoegen"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 msgid "Remove selected"
 msgstr "Verwijder geselecteerde"
 
-#: classes/pref/feeds.php:1361
-msgid "(Un)hide empty categories"
-msgstr "Verberg/Toon lege categorieën"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "Meer acties…"
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Handmatig opschonen"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Wis feed data"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr "Met OPML kunt u feeds, filters, labels en Tiny Tiny RSS instellingen exporteren en importeren."
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
-msgstr "Alleen het hoofdprofiel van de instellingen kan worden overgebracht met OPML."
+msgstr "Alleen instellingen van het hoofdprofiel kunnen worden overgebracht met OPML."
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 msgid "Import my OPML"
 msgstr "Importeer mijn OPML"
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr "Bestandsnaam:"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
-msgstr "toevoegingsinstellingen"
+msgstr "Toevoegingsinstellingen"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 msgid "Export OPML"
 msgstr "OPML exporteren"
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr "Uw OPML kan openbaar worden gepubliceerd en er kan op worden geabonneerd door iedereen die de URL hieronder kent."
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr "De gepubliceerde OPML bevatten niet uw Tiny Tiny RSS instellingen, feeds die authenticatie vereisen of feeds verborgen voor Populaire feeds."
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr "Publieke OPML URL"
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr "Gepubliceerde OPML URL weergeven"
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr "Firefox integratie"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr "Deze Tiny Tiny RSS site kan gebruikt worden als een Firefox Feed Reader door op de link hieronder te klikken."
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Klik hier om deze site te registreren als een feed reader."
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 msgid "Published & shared articles / Generated feeds"
 msgstr "Gepubliceerde & gedeelde artikelen / Gegenereerde feeds"
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr "Gepubliceerde artikelen en gegenereerde feeds"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr "Gepubliceerde artikelen worden geëxporteerd als publieke RSS-feed en er kan door iedereen die de URL hieronder kent op worden geabonneerd."
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr "Toon URL"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr "Wis alle gegenereerde URL's"
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr "Artikelen gedeeld met URL"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr "U kunt alle artikelen gedeeld via unieke URL's hier uitschakelen."
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 msgid "Unshare all articles"
 msgstr "Delen alle artikelen teniet doen"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "Deze feeds hebben al 3 maanden geen nieuwe inhoud (oudste eerst):"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "Klik om feed te bewerken"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "Abonnement opzeggen voor geselecteerde feeds"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Deze feeds zijn niet bijgewerkt omdat er fouten zijn opgetreden:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
-msgstr "Een geldige RSS feed per regel toevoegen (geen feed detectie uitgevoerd)"
+msgstr "Een geldige RSS feed per regel toevoegen (er wordt geen feed detectie uitgevoerd)"
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr "Te abonneren feeds: één per regel"
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr "Feeds vereisen authenticatie."
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
-msgstr ""
+msgstr "Fouten Log"
 
-#: classes/pref/system.php:36
-#, fuzzy
+#: classes/pref/system.php:40
 msgid "Refresh"
-msgstr "Nieuw"
+msgstr "Herlaad"
+
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "Wis kleuren"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:48
 msgid "Error"
-msgstr ""
+msgstr "Fout"
 
-#: classes/pref/system.php:42
-#, fuzzy
+#: classes/pref/system.php:49
 msgid "Filename"
-msgstr "Bestandsnaam:"
+msgstr "Bestandsnaam"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
-msgstr ""
+msgstr "Bericht"
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "Datum"
 
-#: plugins/digest/digest_body.php:57
-#, fuzzy
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr ""
-"Uw browser ondersteunt geen Javascript. Dit is vereist voor\n"
-"\t\t\thet goed functioneren van deze applicatie. Controleer aub uw\n"
-"\t\t\tbrowser instellingen."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Hallo,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr "Reguliere versie"
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr "Sluit artikel"
@@ -2551,62 +2472,6 @@ msgstr "Wachtwoord is veranderd."
 msgid "Old password is incorrect."
 msgstr "Oud wachtwoord is onjuist."
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr "Thuisbasis"
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr "Niets gevonden (klik om feed opnieuw te laden)."
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr "Open de reguliere versie"
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr "Inschakelen categorieën"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr "AAN"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr "UIT"
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr "Browse categorieën als mappen"
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr "Toon afbeeldingen in berichten"
-
-#: plugins/mobile/prefs.php:46
-msgid "Hide read articles and feeds"
-msgstr "Verberg gelezen artikelen en feeds"
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr "sorteer feeds op ongelezen aantallen"
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2648,24 +2513,21 @@ msgstr "Sleep de link hieronder naar uw browser's werkbalk, open de feed waar u
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "Abonneren op %s in Tiny Tiny RSS?"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Abonneren in Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
-msgstr "Gebruik deze bookmarklet om arbitraire pagina's met Tiny Tiny RSS te publiceren"
+msgstr "Gebruik deze bookmarklet om willekeurige pagina's met Tiny Tiny RSS te publiceren"
 
 #: plugins/import_export/init.php:58
 msgid "Import and export"
 msgstr "Import en export"
 
 #: plugins/import_export/init.php:60
-msgid "Article archive"
-msgstr "Artikelarchief"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
+#, fuzzy
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
 msgstr "U kunt uw gearchiveerde of artikelen met ster exporteren en importeren om veilig te bewaren wanneer u migreert tussen tt-rss instanties."
 
 #: plugins/import_export/init.php:65
@@ -2676,51 +2538,51 @@ msgstr "Exporteer mijn data"
 msgid "Import"
 msgstr "Importeren"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr "Kon niet importeren: onjuiste schema versie."
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
-msgstr "Kon niet importeren: onbekend documentformaat."
+msgstr "Kon niet importeren: onbekend documentindeling."
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
-msgstr ""
+msgstr "Klaar:"
 
-#: plugins/import_export/init.php:382
-#, fuzzy, php-format
+#: plugins/import_export/init.php:384
+#, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
-msgstr[0] "Bewerk artikel notitie"
-msgstr[1] "Bewerk artikel notitie"
+msgstr[0] "%d artikel verwerkt, "
+msgstr[1] "%d artikels verwerkt, "
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d geïmporteerd, "
+msgstr[1] "%d geïmporteerd, "
 
-#: plugins/import_export/init.php:384
-#, fuzzy, php-format
+#: plugins/import_export/init.php:386
+#, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
-msgstr[0] "Geen feeds geselecteerd."
-msgstr[1] "Geen feeds geselecteerd."
+msgstr[0] "%d feed gemaakt."
+msgstr[1] "%d feeds gemaakt."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr "Kon XML-document niet laden."
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr "Voorbereiden data"
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
-msgstr ""
+msgstr "Geen bestand geupload."
 
 #: plugins/mail/init.php:85
 msgid "From:"
@@ -2736,45 +2598,33 @@ msgstr "Onderwerp:"
 
 #: plugins/mail/init.php:123
 msgid "Send e-mail"
-msgstr "Zend e-mail"
+msgstr "Verzend e-mail"
 
 #: plugins/note/init.php:26
 #: plugins/note/note.js:11
 msgid "Edit article note"
 msgstr "Bewerk artikel notitie"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr "Voorbeeldpaneel"
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr "Voorbeeld waarde"
-
-#: plugins/example/init.php:73
-msgid "Set value"
-msgstr "Geef waarde"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
-msgstr ""
+msgstr "Klaar. %d van de %d artikels geïmporteerd."
 
 #: plugins/googlereaderimport/init.php:182
 msgid "The document has incorrect format."
-msgstr ""
+msgstr "Het document heeft een onbekende indeling."
 
 #: plugins/googlereaderimport/init.php:353
 msgid "Import starred or shared items from Google Reader"
-msgstr ""
+msgstr "Importeer gedeelde items of items met ster van Google Reader"
 
 #: plugins/googlereaderimport/init.php:357
 msgid "Paste your starred.json or shared.json into the form below."
-msgstr ""
+msgstr "Plak je starred.json of shared.json hieronder."
 
 #: plugins/googlereaderimport/init.php:371
 msgid "Import my Starred items"
-msgstr ""
+msgstr "Importeer items met Ster"
 
 #: plugins/instances/init.php:141
 msgid "Linked"
@@ -2789,7 +2639,7 @@ msgstr "Instantie"
 #: plugins/instances/init.php:312
 #: plugins/instances/init.php:404
 msgid "Instance URL"
-msgstr "instantie URL"
+msgstr "Instantie URL"
 
 #: plugins/instances/init.php:226
 #: plugins/instances/init.php:414
@@ -2855,85 +2705,77 @@ msgid "Your Tiny Tiny RSS installation is up to date."
 msgstr "Uw Tiny Tiny RSS installatie is up-to-date."
 
 #: plugins/updater/init.php:349
-#, fuzzy
 msgid "Do not close this dialog until updating is finished."
-msgstr "Sluit dit dialoogvenster niet voordat het bijwerken klaar is. Maak een back-up van uw tt-rss map alvorens verder te gaan."
+msgstr "Sluit dit dialoogvenster niet voordat het bijwerken klaar is."
 
 #: plugins/updater/init.php:358
 msgid "It is suggested to backup your tt-rss directory first."
-msgstr ""
+msgstr "Het is raadzaam eerst een backup van je tt-rss map te maken."
 
 #: plugins/updater/init.php:359
 msgid "Your database will not be modified."
-msgstr ""
+msgstr "Je database wordt niet aangepast."
 
 #: plugins/updater/init.php:360
 msgid "Your current tt-rss installation directory will not be modified. It will be renamed and left in the parent directory. You will be able to migrate all your customized files after update finishes."
-msgstr ""
+msgstr "Je huidige tt-rss installatie map wordt niet aangepast. Deze wordt hernoemd en in de hoofdmap gelaten. Je kan al je aangepaste bestanden overzetten nadat de update voltooid is."
 
 #: plugins/updater/init.php:361
 msgid "Ready to update."
-msgstr "Klaar voor bijwerken."
+msgstr "Klaar om bij te werken."
 
 #: plugins/updater/init.php:366
 msgid "Start update"
 msgstr "Start update"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Markeer alle artikelen in %s als gelezen?"
 
-#: js/feedlist.js:414
-#, fuzzy
+#: js/feedlist.js:416
 msgid "Mark all articles in %s older than 1 day as read?"
-msgstr "Markeer alle artikelen in %s als gelezen?"
+msgstr "Markeer alle artikelen in %s ouder dan 1 dag als gelezen?"
 
-#: js/feedlist.js:417
-#, fuzzy
+#: js/feedlist.js:419
 msgid "Mark all articles in %s older than 1 week as read?"
-msgstr "Markeer alle artikelen in %s als gelezen?"
+msgstr "Markeer alle artikelen in %s ouder dan 1 week als gelezen?"
 
-#: js/feedlist.js:420
-#, fuzzy
+#: js/feedlist.js:422
 msgid "Mark all articles in %s older than 2 weeks as read?"
-msgstr "Markeer alle artikelen in %s als gelezen?"
+msgstr "Markeer alle artikelen in %s ouder dan 2 weken als gelezen?"
 
 #: js/functions.js:65
 msgid "The error will be reported to the configured log destination."
-msgstr ""
+msgstr "De fout wordt in het geconfigureerde log vastgelegd."
 
 #: js/functions.js:107
 msgid "Are you sure to report this exception to tt-rss.org? The report will include your browser information. Your IP would be saved in the database."
 msgstr "Weet u zeker dat u deze uitzondering wilt rapporteren aan tt-rss.org? Het rapport zal uw browser informatie bevatten. Uw IP-adres zal bewaard worden in een database."
 
 #: js/functions.js:236
-#, fuzzy
 msgid "Click to close"
-msgstr "Klik voor pauze"
+msgstr "Klik om te sluiten"
 
 #: js/functions.js:612
 msgid "Error explained"
-msgstr ""
+msgstr "Fout uitleg"
 
 #: js/functions.js:694
 msgid "Upload complete."
-msgstr ""
+msgstr "Upload voltooid."
 
 #: js/functions.js:718
 msgid "Remove stored feed icon?"
 msgstr "Opgeslagen feed pictogram verwijderen?"
 
 #: js/functions.js:723
-#, fuzzy
 msgid "Removing feed icon..."
-msgstr "Opgeslagen feed pictogram verwijderen?"
+msgstr "Opgeslagen feed pictogram verwijderen..."
 
 #: js/functions.js:728
-#, fuzzy
 msgid "Feed icon removed."
-msgstr "Feed niet gevonden."
+msgstr "Feed pictogram verwijderd."
 
 #: js/functions.js:750
 msgid "Please select an image file to upload."
@@ -2944,9 +2786,8 @@ msgid "Upload new icon for this feed?"
 msgstr "Nieuw pictogram voor deze feed uploaden?"
 
 #: js/functions.js:753
-#, fuzzy
 msgid "Uploading, please wait..."
-msgstr "Aan 't laden, even wachten aub..."
+msgstr "Aan 't uploaden, even wachten aub..."
 
 #: js/functions.js:769
 msgid "Please enter label caption:"
@@ -2954,7 +2795,7 @@ msgstr "Geeft een onderschrift voor label:"
 
 #: js/functions.js:774
 msgid "Can't create label: missing caption."
-msgstr "Kan geen label aanmaken: onderschrift ontbreekt"
+msgstr "Kan label niet aanmaken: onderschrift ontbreekt."
 
 #: js/functions.js:817
 msgid "Subscribe to Feed"
@@ -2973,9 +2814,8 @@ msgid "Specified URL doesn't seem to contain any feeds."
 msgstr "Gespecificeerde URL lijkt geen feeds te bevatten."
 
 #: js/functions.js:862
-#, fuzzy
 msgid "Expand to select feed"
-msgstr "Bewerk geselecteerde feeds"
+msgstr "Uitklappen tot geselecteerde feed"
 
 #: js/functions.js:874
 msgid "Couldn't download the specified URL: %s"
@@ -2983,7 +2823,7 @@ msgstr "Kon de gespecificeerde URL: %s niet downloaden"
 
 #: js/functions.js:878
 msgid "XML validation failed: %s"
-msgstr ""
+msgstr "XML validatie mislukt: %s"
 
 #: js/functions.js:883
 msgid "You are already subscribed to this feed."
@@ -3006,18 +2846,17 @@ msgid "Reset subscription? Tiny Tiny RSS will try to subscribe to the notificati
 msgstr "Abonnement opnieuw instellen? Tiny Tiny RSS zal proberen zich opnieuw op de notification hub te abonneren bij de volgende feed update."
 
 #: js/functions.js:1202
-#, fuzzy
 msgid "Subscription reset."
-msgstr "Abonneren op feed..."
+msgstr "Abonnement hersteld."
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "Abonnement opzeggen voor %s?"
 
 #: js/functions.js:1215
 msgid "Removing feed..."
-msgstr ""
+msgstr "Feed wordt verwijderd..."
 
 #: js/functions.js:1324
 msgid "Please enter category title:"
@@ -3025,29 +2864,28 @@ msgstr "Vul titel van categorie in aub:"
 
 #: js/functions.js:1355
 msgid "Generate new syndication address for this feed?"
-msgstr "nieuw syndicatie-adres voor deze feed genereren?"
+msgstr "Nieuw syndicatie-adres voor deze feed genereren?"
 
 #: js/functions.js:1359
 #: js/prefs.js:1231
 msgid "Trying to change address..."
-msgstr ""
+msgstr "Adres aan het aanpassen..."
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "U kunt dit type feed niet bewerken."
 
 #: js/functions.js:1561
 msgid "Edit Feed"
-msgstr "Bewerken feed"
+msgstr "Bewerk feed"
 
 #: js/functions.js:1567
 #: js/prefs.js:194
 #: js/prefs.js:749
-#, fuzzy
 msgid "Saving data..."
-msgstr "Gegevens opslaan"
+msgstr "Gegevens opslaan..."
 
 #: js/functions.js:1599
 msgid "More Feeds"
@@ -3080,9 +2918,8 @@ msgstr "Geselecteerde feeds verwijderen?"
 
 #: js/functions.js:1755
 #: js/prefs.js:1192
-#, fuzzy
 msgid "Removing selected feeds..."
-msgstr "Geselecteerde feeds verwijderen?"
+msgstr "Geselecteerde feeds verwijderen..."
 
 #: js/functions.js:1853
 msgid "Help"
@@ -3106,16 +2943,15 @@ msgstr "Geef loginID aub:"
 
 #: js/prefs.js:62
 msgid "Can't create user: no login specified."
-msgstr "Kan geen gebruiker aanmaken: geen loginID gespecificeerd."
+msgstr "Kan gebruiker niet aanmaken: geen loginID gespecificeerd."
 
 #: js/prefs.js:66
-#, fuzzy
 msgid "Adding user..."
-msgstr "filter toevoegen..."
+msgstr "Gebruiker toevoegen..."
 
 #: js/prefs.js:94
 msgid "User Editor"
-msgstr "Gebruiker's Editor"
+msgstr "Gebruikers bewerken"
 
 #: js/prefs.js:117
 msgid "Edit Filter"
@@ -3126,18 +2962,16 @@ msgid "Remove filter?"
 msgstr "Filter verwijderen?"
 
 #: js/prefs.js:169
-#, fuzzy
 msgid "Removing filter..."
-msgstr "filter toevoegen..."
+msgstr "Filter verwijderen..."
 
 #: js/prefs.js:279
 msgid "Remove selected labels?"
 msgstr "Geselecteerde labels verwijderen?"
 
 #: js/prefs.js:282
-#, fuzzy
 msgid "Removing selected labels..."
-msgstr "Geselecteerde labels verwijderen?"
+msgstr "Geselecteerde labels verwijderen..."
 
 #: js/prefs.js:295
 #: js/prefs.js:1393
@@ -3149,9 +2983,8 @@ msgid "Remove selected users? Neither default admin nor your account will be rem
 msgstr "Geselecteerde gebruikers verwijderen? Noch de standaard admin gebruiker, noch uw eigen account zal worden verwijderd."
 
 #: js/prefs.js:312
-#, fuzzy
 msgid "Removing selected users..."
-msgstr "Geselecteerde filters verwijderen?"
+msgstr "Geselecteerde gebruikers verwijderen..."
 
 #: js/prefs.js:326
 #: js/prefs.js:507
@@ -3165,9 +2998,8 @@ msgid "Remove selected filters?"
 msgstr "Geselecteerde filters verwijderen?"
 
 #: js/prefs.js:347
-#, fuzzy
 msgid "Removing selected filters..."
-msgstr "Geselecteerde filters verwijderen?"
+msgstr "Geselecteerde filters verwijderen..."
 
 #: js/prefs.js:359
 #: js/prefs.js:597
@@ -3180,9 +3012,8 @@ msgid "Unsubscribe from selected feeds?"
 msgstr "Abonnement opzeggen voor geselecteerde feeds?"
 
 #: js/prefs.js:382
-#, fuzzy
 msgid "Unsubscribing from selected feeds..."
-msgstr "Abonnement opzeggen voor geselecteerde feeds"
+msgstr "Abonnement opzeggen voor geselecteerde feeds..."
 
 #: js/prefs.js:412
 msgid "Please select only one feed."
@@ -3193,27 +3024,24 @@ msgid "Erase all non-starred articles in selected feed?"
 msgstr "Alle artikelen zonder ster in deze feed wissen?"
 
 #: js/prefs.js:421
-#, fuzzy
 msgid "Clearing selected feed..."
-msgstr "Bewerk geselecteerde feeds"
+msgstr "Geselecteerde feed opruimen..."
 
 #: js/prefs.js:440
 msgid "How many days of articles to keep (0 - use default)?"
-msgstr "hoeveel dagen moeten artikelen worden bewaard (0 = gebruik Standaard)?"
+msgstr "Hoeveel dagen moeten artikelen worden bewaard (0 = gebruik standaardwaarde)?"
 
 #: js/prefs.js:443
-#, fuzzy
 msgid "Purging selected feed..."
-msgstr "Bewerk geselecteerde feeds"
+msgstr "Geselecteerde feeds opschonen..."
 
 #: js/prefs.js:478
 msgid "Login field cannot be blank."
 msgstr "Het loginID veld kan niet leeg zijn."
 
 #: js/prefs.js:482
-#, fuzzy
 msgid "Saving user..."
-msgstr "filter toevoegen..."
+msgstr "Gebruiker opslaan..."
 
 #: js/prefs.js:512
 #: js/prefs.js:533
@@ -3226,9 +3054,8 @@ msgid "Reset password of selected user?"
 msgstr "Wachtwoord van geselecteerde gebruiker opnieuw instellen?"
 
 #: js/prefs.js:540
-#, fuzzy
 msgid "Resetting password for selected user..."
-msgstr "Wachtwoord van geselecteerde gebruiker opnieuw instellen?"
+msgstr "Wachtwoord van geselecteerde gebruiker opnieuw instellen..."
 
 #: js/prefs.js:585
 msgid "User details"
@@ -3243,9 +3070,8 @@ msgid "Combine selected filters?"
 msgstr "Geselecteerde filters combineren?"
 
 #: js/prefs.js:623
-#, fuzzy
 msgid "Joining filters..."
-msgstr "filter toevoegen..."
+msgstr "Filters samenvoegen..."
 
 #: js/prefs.js:684
 msgid "Edit Multiple Feeds"
@@ -3266,9 +3092,8 @@ msgstr "kies eerst een OPML-bestand aub."
 #: js/prefs.js:815
 #: plugins/import_export/import_export.js:115
 #: plugins/googlereaderimport/init.js:45
-#, fuzzy
 msgid "Importing, please wait..."
-msgstr "Aan 't laden, even wachten aub..."
+msgstr "Aan 't importeren, even wachten aub..."
 
 #: js/prefs.js:982
 msgid "Reset to defaults?"
@@ -3279,18 +3104,16 @@ msgid "Remove category %s? Any nested feeds would be placed into Uncategorized."
 msgstr "Categorie %s verwijderen? elke genestelde feed zal in de rubriek 'Ongecategoriseerd' worden geplaatst."
 
 #: js/prefs.js:1102
-#, fuzzy
 msgid "Removing category..."
-msgstr "Categorie verwijderen"
+msgstr "Categorie verwijderen..."
 
 #: js/prefs.js:1123
 msgid "Remove selected categories?"
 msgstr "Geselecteerde categorieën verwijderen?"
 
 #: js/prefs.js:1126
-#, fuzzy
 msgid "Removing selected categories..."
-msgstr "Geselecteerde categorieën verwijderen?"
+msgstr "Geselecteerde categorieën verwijderen..."
 
 #: js/prefs.js:1139
 msgid "No categories are selected."
@@ -3301,9 +3124,8 @@ msgid "Category title:"
 msgstr "Categorie titel:"
 
 #: js/prefs.js:1151
-#, fuzzy
 msgid "Creating category..."
-msgstr "Aanmaken filter…"
+msgstr "Aanmaken categorie…"
 
 #: js/prefs.js:1178
 msgid "Feeds without recent updates"
@@ -3311,30 +3133,27 @@ msgstr "Feeds zonder recente updates"
 
 #: js/prefs.js:1227
 msgid "Replace current OPML publishing address with a new one?"
-msgstr "huidig OPML publicatieadres vervangen door een nieuwe?"
+msgstr "Huidig OPML publicatieadres vervangen door een nieuwe?"
 
 #: js/prefs.js:1316
-#, fuzzy
 msgid "Clearing feed..."
-msgstr "Wis feed data"
+msgstr "Feed opruimen..."
 
 #: js/prefs.js:1336
 msgid "Rescore articles in selected feeds?"
 msgstr "Artikelen in geselecteerde feeds opnieuw een score geven?"
 
 #: js/prefs.js:1339
-#, fuzzy
 msgid "Rescoring selected feeds..."
-msgstr "Artikelen in geselecteerde feeds opnieuw een score geven?"
+msgstr "Geselecteerde feeds nieuwe score geven..."
 
 #: js/prefs.js:1359
 msgid "Rescore all articles? This operation may take a lot of time."
-msgstr "Alle artikelen opnieuw een score geven? Dit kan veel tjid in beslag nemen."
+msgstr "Alle artikelen opnieuw een score geven? Dit kan veel tijd in beslag nemen."
 
 #: js/prefs.js:1362
-#, fuzzy
 msgid "Rescoring feeds..."
-msgstr "Feed opnieuw score geven"
+msgstr "Feed opnieuw score geven..."
 
 #: js/prefs.js:1379
 msgid "Reset selected labels to default colors?"
@@ -3349,9 +3168,8 @@ msgid "Remove selected profiles? Active and default profiles will not be removed
 msgstr "Geselecteerde profielen verwijderen? Actieve en standaard profielen zullen niet worden verwijderd."
 
 #: js/prefs.js:1428
-#, fuzzy
 msgid "Removing selected profiles..."
-msgstr "Verwijder geselecteerde profielen"
+msgstr "Geselecteerde profielen verwijderen..."
 
 #: js/prefs.js:1443
 msgid "No profiles are selected."
@@ -3368,9 +3186,8 @@ msgid "Please choose a profile to activate."
 msgstr "Kies een te activeren profiel aub."
 
 #: js/prefs.js:1472
-#, fuzzy
 msgid "Creating profile..."
-msgstr "Maak profiel"
+msgstr "Profiel aanmaken..."
 
 #: js/prefs.js:1528
 msgid "This will invalidate all previously generated feed URLs. Continue?"
@@ -3379,12 +3196,11 @@ msgstr "Dit zal alle eerder gegenereerde feed-URL's ongeldig maken. Doorgaan?"
 #: js/prefs.js:1531
 #: js/prefs.js:1550
 msgid "Clearing URLs..."
-msgstr ""
+msgstr "URLs opruimen..."
 
 #: js/prefs.js:1538
-#, fuzzy
 msgid "Generated URLs cleared."
-msgstr "Genereer nieuwe URL"
+msgstr "Genereerde URLs gewist."
 
 #: js/prefs.js:1547
 msgid "This will invalidate all previously shared article URLs. Continue?"
@@ -3392,242 +3208,197 @@ msgstr "Dit zal all eerder gedeelde artikel-URL's ongeldig maken. Doorgaan?"
 
 #: js/prefs.js:1557
 msgid "Shared URLs cleared."
-msgstr ""
+msgstr "Gedeelde URLs opgeruimd."
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Label editor"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr "Abonneren op feeds..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr "Wis opgeslagen data voor deze plug-in?"
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Markeer alle artikelen als gelezen?"
 
-#: js/tt-rss.js:132
-#, fuzzy
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
-msgstr "Markeer alle feeds als gelezen"
+msgstr "Alle feeds als gelezen markeren..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 msgid "Please enable mail plugin first."
 msgstr "Eerst de e-mail plug-in inschakelen aub."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 msgid "Please enable embed_original plugin first."
-msgstr "embed_original plug-in inschakelen aub."
+msgstr "Eerst embed_original plug-in inschakelen aub."
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr "Selecteer item(s) via tags"
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "U kunt het abonnementen niet opzeggen in deze categorie."
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Selecteer aub eerst een feed."
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "U kunt dit type feed geen andere score geven."
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Artikelen in %s opnieuw een score geven?"
 
-#: js/tt-rss.js:806
-#, fuzzy
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
-msgstr "Artikelen nieuwe score geven"
+msgstr "Artikelen nieuwe score geven..."
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr "Nieuwe versie beschikbaar!"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 msgid "Cancel search"
 msgstr "Zoeken annuleren"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Ster weghalen bij artikel"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Geef artikel een ster"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Ongepubliceerd artikel"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Artikel publiceren"
 
-#: js/viewfeed.js:653
-#, fuzzy
+#: js/viewfeed.js:654
 msgid "%d article selected"
 msgid_plural "%d articles selected"
-msgstr[0] "Geen artikel geselecteerd."
-msgstr[1] "Geen artikel geselecteerd."
-
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+msgstr[0] "%d artikel geselecteerd"
+msgstr[1] "%d artikelen geselecteerd"
+
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "Geen artikelen geselecteerd."
 
-#: js/viewfeed.js:1005
-#, fuzzy
+#: js/viewfeed.js:1006
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
-msgstr[0] "Verwijder %d geselecteerde artikelen in %s?"
+msgstr[0] "Verwijder %d geselecteerd artikel in %s?"
 msgstr[1] "Verwijder %d geselecteerde artikelen in %s?"
 
-#: js/viewfeed.js:1007
-#, fuzzy
+#: js/viewfeed.js:1008
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
-msgstr[0] "Verwijder %d geselecteerde artikelen?"
+msgstr[0] "Verwijder %d geselecteerd artikel?"
 msgstr[1] "Verwijder %d geselecteerde artikelen?"
 
-#: js/viewfeed.js:1049
-#, fuzzy
+#: js/viewfeed.js:1050
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
-msgstr[0] "%d geselecteerd artikelen archiveren in %s?"
+msgstr[0] "%d geselecteerd artikel archiveren in %s?"
 msgstr[1] "%d geselecteerd artikelen archiveren in %s?"
 
-#: js/viewfeed.js:1052
-#, fuzzy
+#: js/viewfeed.js:1053
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
-msgstr[0] "%d gearchiveerde artikelen terugzetten?"
+msgstr[0] "%d gearchiveerd artikel terugzetten?"
 msgstr[1] "%d gearchiveerde artikelen terugzetten?"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
-msgstr ""
+msgstr "Let op, artikels zonder ster kunnen verloren gaan bij de volgende feed update."
 
-#: js/viewfeed.js:1099
-#, fuzzy
+#: js/viewfeed.js:1100
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
-msgstr[0] "Markeer %d geselecteerde artikelen in %s als gelezen?"
+msgstr[0] "Markeer %d geselecteerd artikel in %s als gelezen?"
 msgstr[1] "Markeer %d geselecteerde artikelen in %s als gelezen?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
-msgstr "Bewerken artikel tags"
+msgstr "Bewerk artikel tags"
 
-#: js/viewfeed.js:1129
-#, fuzzy
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
-msgstr "Bewerken artikel tags"
+msgstr "Artikel tags opslaan..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "Geen artikel geselecteerd."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "Geen artikelen gevonden om te markeren"
 
-#: js/viewfeed.js:1372
-#, fuzzy
+#: js/viewfeed.js:1373
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
-msgstr[0] "Markeer %d artikel(en) als gelezen?"
-msgstr[1] "Markeer %d artikel(en) als gelezen?"
+msgstr[0] "Markeer %d artikel als gelezen?"
+msgstr[1] "Markeer %d artikelen als gelezen?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "Open origineel artikel"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 msgid "Display article URL"
 msgstr "Toon artikel URL"
 
-#: js/viewfeed.js:1920
-#, fuzzy
+#: js/viewfeed.js:1900
 msgid "Toggle marked"
-msgstr "In/uitschakelen sterren"
+msgstr "Markeer als (on)gelezen"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Labels toevoegen"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "Label verwijderen"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 msgid "Please enter new score for selected articles:"
 msgstr "Geef aub een nieuwe score voor de geselecteerde artikelen:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 msgid "Please enter new score for this article:"
 msgstr "Geef aub een nieuwe score voor dit artikel:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 msgid "Article URL:"
 msgstr "Artikel URL:"
 
-#: plugins/digest/digest.js:72
-#, fuzzy
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "Markeer %d getoonde artikelen als gelezen?"
-msgstr[1] "Markeer %d getoonde artikelen als gelezen?"
-
-#: plugins/digest/digest.js:290
-msgid "Error: unable to load article."
-msgstr "Fout: kan artikel niet laden."
-
-#: plugins/digest/digest.js:464
-msgid "Click to expand article."
-msgstr "Klik om artikel uit te klappen."
-
-#: plugins/digest/digest.js:535
-#, fuzzy
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "%d meer…"
-msgstr[1] "%d meer…"
-
-#: plugins/digest/digest.js:542
-msgid "No unread feeds."
-msgstr "Geen ongelezen feeds."
-
-#: plugins/digest/digest.js:649
-msgid "Load more..."
-msgstr "Laad meer..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr "Sorry, uw browser lijkt iframes in een sandbox niet te ondersteunen."
@@ -3642,33 +3413,30 @@ msgid "Export Data"
 msgstr "Data exporteren"
 
 #: plugins/import_export/import_export.js:40
-#, fuzzy
 msgid "Finished, exported %d article. You can download the data <a class='visibleLink' href='%u'>here</a>."
 msgid_plural "Finished, exported %d articles. You can download the data <a class='visibleLink' href='%u'>here</a>."
-msgstr[0] "Klaar met exporteren van %d artikelen. U kunt de data <a class='visibleLink' href='%u'>hier</a> downloaden. "
-msgstr[1] "Klaar met exporteren van %d artikelen. U kunt de data <a class='visibleLink' href='%u'>hier</a> downloaden. "
+msgstr[0] "Klaar met exporteren van %d artikel. U kunt de data <a class='visibleLink' href='%u'>hier</a> downloaden."
+msgstr[1] "Klaar met exporteren van %d artikelen. U kunt de data <a class='visibleLink' href='%u'>hier</a> downloaden."
 
 #: plugins/import_export/import_export.js:93
 msgid "Data Import"
-msgstr "Data import"
+msgstr "Data importeren"
 
 #: plugins/import_export/import_export.js:112
 msgid "Please choose the file first."
 msgstr "Kies het bestand eerst aub."
 
 #: plugins/note/note.js:17
-#, fuzzy
 msgid "Saving article note..."
-msgstr "Bewerk artikel notitie"
+msgstr "Artikel notitie opslaan..."
 
 #: plugins/googlereaderimport/init.js:18
 msgid "Google Reader Import"
-msgstr ""
+msgstr "Google Reader Importeerder"
 
 #: plugins/googlereaderimport/init.js:42
-#, fuzzy
 msgid "Please choose a file first."
-msgstr "Kies het bestand eerst aub."
+msgstr "Kies eerst een bestand aub."
 
 #: plugins/instances/instances.js:10
 msgid "Link Instance"
@@ -3683,9 +3451,8 @@ msgid "Remove selected instances?"
 msgstr "Geselecteerde instanties verwijderen?"
 
 #: plugins/instances/instances.js:125
-#, fuzzy
 msgid "Removing selected instances..."
-msgstr "Geselecteerde instanties verwijderen?"
+msgstr "Geselecteerde instanties verwijderen..."
 
 #: plugins/instances/instances.js:139
 #: plugins/instances/instances.js:151
@@ -3701,9 +3468,93 @@ msgid "Share article by URL"
 msgstr "Deel artikel via URL"
 
 #: plugins/updater/updater.js:58
-#, fuzzy
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
-msgstr "Live updaten is nog experimenteel. Maak een back-up van uw tt-rss map alvorens door te gaan. Typ 'ja' om door te gaan. "
+msgstr "Maak een back-up van uw tt-rss map alvorens door te gaan. Typ 'yes' om door te gaan. "
+
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Verberg/Toon lege categorieën"
+
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Gepubliceerde artikelen en gegenereerde feeds"
+
+#~ msgid "Articles shared by URL"
+#~ msgstr "Artikelen gedeeld met URL"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Deze feeds zijn niet bijgewerkt omdat er fouten zijn opgetreden:"
+
+#~ msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
+#~ msgstr "Uw browser ondersteunt geen Javascript. Dit is vereist voor het goed functioneren van deze applicatie. Controleer aub uw browser instellingen."
+
+#~ msgid "Hello,"
+#~ msgstr "Hallo,"
+
+#~ msgid "Regular version"
+#~ msgstr "Reguliere versie"
+
+#~ msgid "Home"
+#~ msgstr "Startpagina"
+
+#~ msgid "Nothing found (click to reload feed)."
+#~ msgstr "Niets gevonden (klik om feed opnieuw te laden)."
+
+#~ msgid "Open regular version"
+#~ msgstr "Open de reguliere versie"
+
+#~ msgid "Enable categories"
+#~ msgstr "Inschakelen categorieën"
+
+#~ msgid "ON"
+#~ msgstr "AAN"
+
+#~ msgid "OFF"
+#~ msgstr "UIT"
+
+#~ msgid "Browse categories like folders"
+#~ msgstr "Geef categorieën als mappen weer"
+
+#~ msgid "Show images in posts"
+#~ msgstr "Toon afbeeldingen in berichten"
+
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "Verberg gelezen artikelen en feeds"
+
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "Sorteer feeds op ongelezen aantallen"
+
+#~ msgid "Article archive"
+#~ msgstr "Artikelarchief"
+
+#~ msgid "Example Pane"
+#~ msgstr "Voorbeeldpaneel"
+
+#~ msgid "Sample value"
+#~ msgstr "Voorbeeld waarde"
+
+#~ msgid "Set value"
+#~ msgstr "Geef waarde"
+
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "Markeer %d getoond artikel als gelezen?"
+#~ msgstr[1] "Markeer %d getoonde artikelen als gelezen?"
+
+#~ msgid "Error: unable to load article."
+#~ msgstr "Fout: kan artikel niet laden."
+
+#~ msgid "Click to expand article."
+#~ msgstr "Klik om artikel uit te klappen."
+
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "%d meer…"
+#~ msgstr[1] "%d meer…"
+
+#~ msgid "No unread feeds."
+#~ msgstr "Geen ongelezen feeds."
+
+#~ msgid "Load more..."
+#~ msgstr "Laad meer..."
 
 #~ msgid "Switch to digest..."
 #~ msgstr "Omschakelen naar samenvatting…"
index 86b35841d726e6b87bf612215726f597d608bc87..9e38ed5b6d8c1fc6ce4c695145eda759e04ccd83 100644 (file)
Binary files a/locale/pl_PL/LC_MESSAGES/messages.mo and b/locale/pl_PL/LC_MESSAGES/messages.mo differ
index ca8be88e0252f956e4e4e53814538e0bf78fa8bc..1f7c6264de06e21836ccb626f893c4df30563fc6 100644 (file)
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Tiny Tiny RSS\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: 2013-04-15 21:00+0100\n"
 "Last-Translator: Mirosław Lach <m.wordpress@lach.waw.pl>\n"
 "Language-Team: \n"
@@ -92,8 +92,8 @@ msgid "Weekly"
 msgstr "Cotygodniowo"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Użytkownik"
 
@@ -156,14 +156,13 @@ msgstr "Test escape'owania SQL nie powiódł się. Sprawdź konfigurację swojej
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -178,14 +177,14 @@ msgstr "Test escape'owania SQL nie powiódł się. Sprawdź konfigurację swojej
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -208,13 +207,13 @@ msgid "All Articles"
 msgstr "Wszystkie artykuły"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "Oznaczone gwiazdką"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "Opublikowane"
@@ -259,12 +258,11 @@ msgstr "Tytuł"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Oznacz jako przeczytane"
 
@@ -305,7 +303,7 @@ msgid "Feed actions:"
 msgstr "Działania dla kanałów:"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Prenumeruj kanał..."
 
@@ -318,8 +316,8 @@ msgid "Rescore feed"
 msgstr "Przelicz punktację kanału"
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Wypisz się"
@@ -337,7 +335,7 @@ msgid "Other actions:"
 msgstr "Inne działania:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 msgid "Toggle widescreen mode"
 msgstr "Przełącz tryb szerokoekranowy"
 
@@ -358,52 +356,48 @@ msgid "Keyboard shortcuts help"
 msgstr "O skrótach klawiszowych"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Wyloguj"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Ustawienia"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Skróty klawiszowe"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Wyjdź z ustawień"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Kanały"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Filtry"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "Etykiety"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Użytkownicy"
 
-#: prefs.php:132
+#: prefs.php:131
 #, fuzzy
 msgid "System"
 msgstr "Wtyczki systemowe"
@@ -425,13 +419,13 @@ msgstr "Rejestracja nowych użytkowników został zablokowana przez administrato
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Wróć do Tiny Tiny RSS"
 
@@ -448,12 +442,12 @@ msgid "Check availability"
 msgstr "Sprawdź dostępność"
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "Email:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "Ile wynosi dwa plus dwa:"
 
@@ -487,11 +481,11 @@ msgstr "Skrypt aktualizacji danych Tiny Tiny RSS."
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Bez kategorii"
 
@@ -508,301 +502,300 @@ msgid "No feeds found."
 msgstr "Nie znaleziono kanałów."
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Specjalne"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Wszystkie kanały"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Artykuły oznaczone gwiazdką"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Opublikowane artykuły"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Świeże artykuły"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Wszystkie artykuły"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "Zarchiwizowane artykuły"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr "Ostatnio czytane"
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Nawigacja"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 msgid "Open next feed"
 msgstr "Przejdź do następnego kanału"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr "Otwórz poprzedni kanał"
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 msgid "Open next article"
 msgstr "Otwórz następny artykuł"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 msgid "Open previous article"
 msgstr "Otwórz poprzedni artykuł"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr "Otwórz następny artykuł (nie przewijaj długich artykułów)"
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr "Otwórz poprzeni artykół (nie przewijaj długich artykułów)"
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr "Otwórz następny artykół (nie rozszerzaj lub oznaczaj jako przeczytane)"
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr "Otwórz poprzeni artykół (nie rozszerzaj lub oznaczaj jako przeczytane)"
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Otwórz okno wyszukiwania"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 msgid "Article"
 msgstr "Artykuł"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Przełącz oznaczenie gwiazdką"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Przełącz flagę publikacji"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Przełącz flagę \"przeczytano\""
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Edytuj tagi"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 msgid "Dismiss selected"
 msgstr "Odrzuć wybrane"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 msgid "Dismiss read"
 msgstr "Odrzuć przeczytane"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 msgid "Open in new window"
 msgstr "Otwórz w nowym oknie"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr "Oznacz poniższe jako przeczytane"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr "Oznacz powyższe jako przeczytane"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 msgid "Scroll down"
 msgstr "Przewiń w dół"
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr "Przewiń do góry"
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 msgid "Select article under cursor"
 msgstr "Wybierz artykuł pod kursorem"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr "Prześlij artykuł emailem"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 msgid "Close/collapse article"
 msgstr "Zamknij/zwiń artykuł"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 msgid "Toggle article expansion (combined mode)"
 msgstr "Przełącz rozszerzanie artykułów (tryb scalony)"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 msgid "Toggle embed original"
 msgstr "Przełącza flagę \"wbuduj oryginalny artykuł\""
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 msgid "Article selection"
 msgstr "Wybór artykułów"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr "Wybierz wszystkie artykuły"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 msgid "Select unread"
 msgstr "Wybierz nieprzeczytane"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 msgid "Select starred"
 msgstr "Wybierz oznaczone gwiazdką"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 msgid "Select published"
 msgstr "Wybierz opublikowane"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 msgid "Invert selection"
 msgstr "Odwróć zaznaczenie"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 msgid "Deselect everything"
 msgstr "Odznacz wszystko"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Kanał"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 msgid "Refresh current feed"
 msgstr "Odśwież bieżący kanał"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 msgid "Un/hide read feeds"
 msgstr "Pokaż/Ukryj przeczytane kanały"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Prenumeruj kanał"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Edytuj kanał"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 msgid "Reverse headlines"
 msgstr "Odwróć kolejność nagłówków"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 msgid "Debug feed update"
 msgstr "Testuj aktualizację kanałów"
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Oznacz wszystkie kanały jako przeczytane"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 msgid "Un/collapse current category"
 msgstr "Zwiń/rozwiń bieżącą kategorię"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 msgid "Toggle combined mode"
 msgstr "Przełącz tryb scalony"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 msgid "Toggle auto expand in combined mode"
 msgstr "Przełącz automatyczne rozszerzanie artykułów w trybie scalonym"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 msgid "Go to"
 msgstr "Idź do"
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr "Świeży"
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Chmura tagów"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 msgid "Other"
 msgstr "Inne"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Utwórz etykietę"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Utwórz filtr"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 msgid "Un/collapse sidebar"
 msgstr "Zwin/rozwiń pasek boczny"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 msgid "Show help dialog"
 msgstr "Otwórz okno pomocy"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr "Wyniki wyszukiwania: %s"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "brak tagów"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Edytuj tagi dla tego artykułu"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 msgid "Originally from:"
 msgstr "Oryginał pochodzi z:"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr "Adres kanału"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -812,46 +805,44 @@ msgstr "Adres kanału"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Zamknij to okno"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr "(edytuj notatkę)"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "nieznany typ"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 msgid "Attachments"
 msgstr "Załączniki"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr ""
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Nazwa użytkownika:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "Hasło:"
 
@@ -866,7 +857,7 @@ msgstr "Profil:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "Domyślny profil"
 
@@ -884,7 +875,6 @@ msgstr "Pamiętaj mnie"
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "Zaloguj"
 
@@ -901,12 +891,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "Tagi dla tego artykułu (oddzielone przecinkami):"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -916,19 +906,19 @@ msgstr "Zapisz"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -937,7 +927,7 @@ msgid "Cancel"
 msgstr "Anuluj"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 msgid "Share with Tiny Tiny RSS"
 msgstr "Udostępnij za pomocą Tiny Tiny RSS"
 
@@ -946,8 +936,8 @@ msgid "Title:"
 msgstr "Tytuł:"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -973,91 +963,90 @@ msgstr "Udostępnij"
 msgid "Not logged in"
 msgstr "Nie zalogowany"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Nieprawidłowa nazwa użytkownika lub hasło"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Prenumerujesz już kanał <b>%s</b>."
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Zaprenumerowano kanał <b>%s</b>."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Nie udało się zaprenumerować <b>%s</b>."
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "Nie znaleziono kanałów w <b>%s</b>."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 msgid "Multiple feed URLs found."
 msgstr "Znaleziono wiele adresów kanałów."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "Nie udało się zaprenumerować <b>%s</b>. Nie udało się pobrać adresu kanału."
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr "Prenumeruj wybrany kanał"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Edytuj opcje prenumeraty"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 msgid "Password recovery"
 msgstr "Odzyskiwanie hasła"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
 msgstr "Będziesz musiał podać prawidłową nazwę konta oraz adres email. Nowe hasło zostanie przesłane na Twój adres email."
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Resetuj hasło"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr "Niektóre z wymaganych parametrów są nieprawidłowe lub nie zostały wprowadzone."
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 msgid "Go back"
 msgstr "Cofnij"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr "Przykro mi, podana kombinacja nazwy użytkownika i adresu email nie została oznaleziona."
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "Twój poziom dostępu jest niewystarczający do uruchomienia tego skryptu."
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Aktualizator bazy danych"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Przeprowadź aktualizacje"
 
@@ -1145,7 +1134,7 @@ msgstr "Zobacz jako kanał RSS"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "Wyświetl jako RSS"
 
@@ -1154,17 +1143,17 @@ msgid "Select:"
 msgstr "Wybierz: "
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "Wszystko"
@@ -1174,17 +1163,17 @@ msgid "Invert"
 msgstr "Odwróć"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "Nic"
@@ -1214,10 +1203,10 @@ msgid "Move back"
 msgstr "Cofnij"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "Usuń"
 
@@ -1233,7 +1222,7 @@ msgid "Feed:"
 msgstr "Kanał:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Kanał nie został odnaleziony."
 
@@ -1247,142 +1236,142 @@ msgstr "Nigdy nie usuwaj"
 msgid "Imported at %s"
 msgstr "Zaimportowane do %s"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "oznacz jako przeczytane"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 msgid "Collapse article"
 msgstr "Zwiń artykuł"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "Nie znaleziono nieprzeczytanych artykułów."
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "Nie znaleziono uaktualnionych artykułów."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "Nie znaleziono artykułów oznaczonych gwiazdką."
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
 msgstr "Nie znaleziono artykułów do wyświetlenia. Możesz ręcznie przypisać artykuły do etykiet z menu kontekstowego artykułu (ma zastosowanie do wszystkich zaznaczonych artykułów) lub użyć filtru."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "Nie znaleziono artykułów."
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "Kanały ostatnio uaktualnione o %s"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "Wystąpiły błędy aktualizacji niektórych kanałów (kliknij aby zobaczyć szczegóły)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Nie wybrano kanału."
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 msgid "Feed or site URL"
 msgstr "Adres kanału lub strony"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Umieść w kategorii:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "Dostępne kanały"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Uwierzytelnianie"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Nazwa użytkownika"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "Hasło"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Ten kanał wymaga uwierzytelniania."
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Prenumeruj"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "Więcej kanałów"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Szukaj"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr "Popularne kanały"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr "Archiwum kanału"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
 msgstr "limit:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Usuń"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "Szukaj napisu"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Ogranicz wyszukiwanie do:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Ten kanał"
 
@@ -1454,20 +1443,20 @@ msgid "Processing category: %s"
 msgstr "Przetwarzam kategorię: %s"
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr "Przesyłanie pliku zakończone błędem numer %d"
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 msgid "Unable to move uploaded file."
 msgstr "Nie udało się przenieść przesłanego pliku."
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "Błąd: proszę wgrać plik OPML."
@@ -1492,7 +1481,7 @@ msgid "User not found"
 msgstr "Użytkownik nie został odnaleziony"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Zarejestrowany"
 
@@ -1508,106 +1497,106 @@ msgstr "Ilość prenumerowanych kanałów"
 msgid "Subscribed feeds"
 msgstr "Prenumerowane kanały"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Poziom dostępu: "
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Zmień hasło na"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Opcje"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "E-mail: "
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "Dodano użytkownika <b>%s</b> używającego hasła <b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "Nie udało się utworzyć użytkownika <b>%s</b>"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "Użytkownik <b>%s</b> już istnieje."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr "Zmieniono hasło użytkownika <b>%s</b> na <b>%s</b>"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr "Wysyłam nowe hasło dla użytkownika <b>%s</b> na adres <b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] Informacja o zmianie hasła"
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 msgid "Select"
 msgstr "Wybierz"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Utwórz użytkownika"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "Szczegóły"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Edytuj"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Poziom dostępu"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Ostatnie logowanie"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Kliknij aby edytować"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "Nie zdefiniowano żadnego użytkownika."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "Nie odnaleziono pasującego użytkownika."
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Opis"
 
@@ -1632,125 +1621,124 @@ msgstr "Utworzono etykietę <b>%s</b>"
 msgid "Clear colors"
 msgstr "Wyczyść kolory"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr "Artykuły pasujące do filtra:"
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 msgid "No recent articles matching this filter have been found."
 msgstr "Nie znaleziono żadnych ostatnich artykułów pasujących do filtra."
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr "Złozone wyrażenia mogą nie przynosić spodziewanych rezultatów podczas testów ze względu na różnice w implementacji wyrażeń regularnych na serwerze bazy danych."
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Dopasuj"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr "Dodaj"
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 msgid "Apply actions"
 msgstr "Zastosuj działania"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Włączone"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr "Pasuje do dowolnej reguły"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 msgid "Inverse matching"
 msgstr "Odwróć dopasowanie"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Testuj"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 msgid "(inverse)"
 msgstr "(odwróć)"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr "%s na %s w %s %s"
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr "Połącz"
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "Zresetuj porządek sortowania"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Przywróć artykuły"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Utwórz"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr "Odwróć dopasowywanie wyrażeniami regularnymi"
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "pole"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr "w"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 msgid "Save rule"
 msgstr "Zapisz regułę"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 msgid "Add rule"
 msgstr "Dodaj regułę"
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Wykonaj operację"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "z parametrami:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 msgid "Save action"
 msgstr "Zapisz działanie"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 msgid "Add action"
 msgstr "Dodaj działania"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 msgid "[No caption]"
 msgstr "[Brak opisu]"
 
@@ -1891,7 +1879,6 @@ msgid "Purge unread articles"
 msgstr "Czyszczenie nieprzeczytanych artykułów"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "Odwrotny porządek nagłówków (najstarsze pierwsze)"
 
@@ -1932,7 +1919,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr "Podczas czytania artykułu usuń wszystkie poza najpopularniejszymi znaczniki HTML."
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "Dostosuj arkusz styli"
 
@@ -2123,89 +2110,88 @@ msgid "Reset to defaults"
 msgstr "Przywróć domyślne"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr "Wtyczki"
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr "Musisz przeładować Tiny Tiny RSS aby zastosować zmiany we wtyczkach."
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 msgstr "Pobierz więcej wtyczek  z <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forum</a> lub <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a> tt-rss.org."
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr "Wtyczki systemowe"
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr "Wtyczka"
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 msgid "Description"
 msgstr "Opis"
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr "Wersja"
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr "Autor"
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr "więcej informacji"
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 msgid "Clear data"
 msgstr "Wyczyść dane"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr "Wtyczki użytkowników"
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 msgid "Enable selected plugins"
 msgstr "Włącz wybrane wtyczki"
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 #, fuzzy
 msgid "Incorrect one time password"
 msgstr "Nieprawidłowe hasło"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 msgid "Incorrect password"
 msgstr "Nieprawidłowe hasło"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr "Możesz nadpisać ustawienia kolorów, czcionek i układu wybranego stylu przy użyciu własnych deklaracji CSS. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">Ten plik</a> może posłużyć jako przykład."
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "Utwórz profil"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(aktywny)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "Usuń wybrane profile"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "Aktywuj profil"
 
@@ -2213,276 +2199,253 @@ msgstr "Aktywuj profil"
 msgid "Check to enable field"
 msgstr "Zaznacz aby uaktywnić pole"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "Tytuł kanału"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Aktualizuj"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Czyszczenie artykułów:"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr "<b>Wskazówka:</b> musisz wypełnić dane logowania jeżeli Twój kanał wymaga uwierzytelniania. Nie dotyczy to kanałów z Twittera."
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "Ukryj przed umieszczeniem w Popularnych kanałach"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "Umieść w przeglądzie emailowym"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Zawsze wyświetlaj załączniki graficzne"
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr "Nie osadzaj obrazków"
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Przechowuj obrazki lokalnie"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "Oznacz zaktualizowane artykuły jako nieprzeczytane"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr "Ikona"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "Zamień"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr "Odnów prenumeratę aktualizacji typu PUSH"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr "Resetuje status prenumerat PubSubHubbub dla kanałów obsługujących PUSH."
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Zrobione."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "Kanały z błędami"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 msgid "Inactive feeds"
 msgstr "Nieaktywne kanały"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "Edytuj wybrane kanały"
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr "Prenumerata wsadowa"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 msgid "Categories"
 msgstr "Kategorie"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 msgid "Add category"
 msgstr "Dodaj kategorię"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 msgid "Remove selected"
 msgstr "Usuń wybrane"
 
-#: classes/pref/feeds.php:1361
-msgid "(Un)hide empty categories"
-msgstr "Pokaż/Ukryj puste kategorie"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "Więcej działań..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Czyszczenie ręczne"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Wyczyść dane kanału"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr "Korzystając z OPML możesz eksportować i importować kanały, filtry, etykiety i ustawienia Tiny Tiny RSS."
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr "Tylko główne ustawienia profilu mogą być migrowane korzystając z OPML."
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 msgid "Import my OPML"
 msgstr "Importuj mój OPML"
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr "Nazwa pliku:"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
 msgstr "Załącz ustawienia"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 msgid "Export OPML"
 msgstr "Eksportuj OPML"
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr "Twój OPML może zostać opublikowany i być prenumerowany przez każdego kto zna poniższy adres."
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr "Opublikowany OPML nie zawiera ustawień Twojego Tiny Tiny RSS, kanałów wymagających uwierzytelniania i kanałów ukrytych przed umieszczeniem w Popularnych kanałach."
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr "Publiczny adres OPML"
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr "Wyświetl opublikowany adres OPML"
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr "Integracja z Firefoxem"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr "Tiny Tiny RSS może być ustawiona jako domyślny czytnik kanałów w Firefoxie poprzez kliknięcie odnośnika poniżej."
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Kliknij tutaj aby ustawić tę stronę jako czytnik kanałów."
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 msgid "Published & shared articles / Generated feeds"
 msgstr "Opublikowane i udostępnione artykuły / Wygenerowane kanały"
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr "Opublikowane artykuły i wygenerowane kanały"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr "Opublikowane artykuły są eksportowane jako publiczny kanał RSS i mogą być prenumerowane przez każdego kto zna adres podany poniżej."
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr "Wyświetl adres"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr "Wyczyść wszystkie wygenerowane adresy"
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr "Wszystkie artykuły udostępnione przez adresy"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr "Możesz wyłączyć wszystkie unikalne adresy prowadzące do udostępnionych artykułów."
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 msgid "Unshare all articles"
 msgstr "Zakończ udostępnianie wszystkich artykułów"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "Niniejsze kanały nie zostały uaktualnione przez 3 miesiące (najstarsze pierwsze):"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "Kliknij aby edytować kanał"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "Zakończ prenumeratę wybranych kanałów:"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Te kanały nie zostały uaktualnione ponieważ wystąpiły błędy:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr "Wpisz jeden prawidłowy adres kanału RSS w każdej linii (nie jest przeprowadzana automatyczna detekcja adresu kanału)"
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr "Kanały do prenumeraty. Każdy w osobnej linii"
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr "Kanały wymagają uwierzytelniania."
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr ""
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 #, fuzzy
 msgid "Refresh"
 msgstr "Świeży"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "Wyczyść kolory"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr ""
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 #, fuzzy
 msgid "Filename"
 msgstr "Nazwa pliku:"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr ""
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "Data"
 
-#: plugins/digest/digest_body.php:57
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr "Twoja przeglądarka nie obsługuje Javascript, który jest wymagany aby aplikacja działała poprawnie. Proszę sprawdź ustawienia swojej przeglądarki."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Cześć,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr "Wersja standardowa"
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr "Zamknij artykuł"
@@ -2516,62 +2479,6 @@ msgstr "Hasło zostało zmienione."
 msgid "Old password is incorrect."
 msgstr "Nieprawidłowe stare hasło."
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr "Stron główna"
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr "Nic nie znaleziono (kliknij aby odświeżyć kanał)."
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr "Otwórz standardową wersję"
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr "Włącz kategorie"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr "WŁĄCZONE"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr "WYŁĄCZONE"
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr "Przeglądaj kategorie jak katalogi"
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr "Wyświetlaj obrazki w artykułach"
-
-#: plugins/mobile/prefs.php:46
-msgid "Hide read articles and feeds"
-msgstr "Ukryj przeczytane artykuły i kanały"
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr "Sortuj kanały według liczby nieprzeczytanych"
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2613,11 +2520,11 @@ msgstr "Przeciągnij poniższy odnośnik na pasek zakładek Twojej przeglądarki
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "Prenumerować %s w Tiny Tiny RSS?"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Prenumeruj w Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr "Użyj tej Skryptozakładki aby publikować dowolne strony używając Tiny Tiny RSS"
 
@@ -2626,11 +2533,8 @@ msgid "Import and export"
 msgstr "Import i eksport"
 
 #: plugins/import_export/init.php:60
-msgid "Article archive"
-msgstr "Archiwum artykułów"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
+#, fuzzy
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
 msgstr "Możesz eksportować i importować artykuły oznaczone gwiazdką oraz zarchiwizowane dla zachowania lub na czas migracji pomiędzy instalacjami tt-rss."
 
 #: plugins/import_export/init.php:65
@@ -2641,19 +2545,19 @@ msgstr "Eksportuj moje dane"
 msgid "Import"
 msgstr "Importuj"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr "Nieudany import: nieprawidłowa wersja schematu."
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr "Nieudany import: nierozpoznany typ dokumentu."
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr "Zakończono: "
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
@@ -2661,7 +2565,7 @@ msgstr[0] "%d artykuł przetworzony."
 msgstr[1] "%d artykuły przetworzone."
 msgstr[2] "%d artykułów przetworzonych."
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
@@ -2669,7 +2573,7 @@ msgstr[0] "%d zaimportowany."
 msgstr[1] "%d zaimportowane."
 msgstr[2] "%d zaimportowanych."
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
@@ -2677,15 +2581,15 @@ msgstr[0] "%d kanał utworzony."
 msgstr[1] "%d kanały utworzone."
 msgstr[2] "%d kanałów utworzonych."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr "Nie udało się wczytać dokumentu XML."
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr "Przygotuj dane"
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
 msgstr "Nie przesłano żadnego pliku."
@@ -2711,18 +2615,6 @@ msgstr "Wyślij email"
 msgid "Edit article note"
 msgstr "Edytuj notatkę do artykułu"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr "Przykładowe onko"
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr "Przykładowa wartość"
-
-#: plugins/example/init.php:73
-msgid "Set value"
-msgstr "Ustaw wartość"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -2846,21 +2738,20 @@ msgstr "Gotowy do aktualizacji."
 msgid "Start update"
 msgstr "Rozpocznik aktualizację"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Oznaczyć wszystkie artykuły w %s jako przeczytane?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "Oznaczyć wszystkie w kanale %s starsze jak 1 dzień jako przeczytane?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "Oznaczyć wszystkie w kanale %s starsze jak tydzień jako przeczytane?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "Oznaczyć wszystkie w kanale %s starsze jak 2 tygodnie jako przeczytane?"
 
@@ -2971,7 +2862,7 @@ msgid "Subscription reset."
 msgstr "Zresetowano prenumerate."
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "Zakończyć prenumeratę %s?"
 
@@ -2993,8 +2884,8 @@ msgid "Trying to change address..."
 msgstr "Próbuje zmienić adres..."
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "Nie możesz edytować kanału tego typu."
 
@@ -3331,92 +3222,88 @@ msgstr "Operacja spowoduje unieważnienie adresów wszystkich poprzednio udostę
 msgid "Shared URLs cleared."
 msgstr "Udostępniane adresy zostały wyczyszczone."
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Edytor etykiet"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr "Prenumerowanie kanałów..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr "Wyczyścić zapamiętane dane tej wtyczki?"
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Oznaczyć wszystkie artykuły jako przeczytane?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr "Oznaczam wszystkie kanały jako przeczytane..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 msgid "Please enable mail plugin first."
 msgstr "Włącz najpierw wtyczkę obsługi poczty (mail)."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 msgid "Please enable embed_original plugin first."
 msgstr "Włącz najpierw wtyczkę osadzania oryginalnej wiadomości (embed_original)."
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr "Wybierz element(y) przy użyciu tagów"
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "Nie możesz zrezygnować z prenumeraty tej kategorii."
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Wybierz najpierw jakiś kanał."
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "Nie możesz przeliczyć punktacji kanału tego rodzaju."
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Przeliczyć punktację artykułów w %s?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
 msgstr "Przeliczanie punktacji kanałów..."
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr "Dostępna jest nowa wersja!"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 msgid "Cancel search"
 msgstr "Anuluj wyszukiwanie"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Usuń oznaczenie gwiazdką"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Oznacz artykuł gwiazdką"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Anuluj publikacje artykułu"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Opublikuj"
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 #, fuzzy
 msgid "%d article selected"
 msgid_plural "%d articles selected"
@@ -3424,144 +3311,114 @@ msgstr[0] "Nie wybrano żadnego artykułu."
 msgstr[1] "Nie wybrano żadnego artykułu."
 msgstr[2] "Nie wybrano żadnego artykułu."
 
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "Nie wybrano żadnych artykułów"
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "Usunąć %d zaznaczony artykuł z %s?"
 msgstr[1] "Usunąć %d zaznaczone artykuły z %s?"
 msgstr[2] "Usunąć %d zaznaczonych artykułów z %s?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "Usunąć %d zaznaczony artykuł?"
 msgstr[1] "Usunąć %d zaznaczone artykuły?"
 msgstr[2] "Usunąć %d zaznaczonych artykułów?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "Zarchiwizować %d zaznaczony artykuł z %s?"
 msgstr[1] "Zarchiwizować %d zaznaczone artykuły z %s?"
 msgstr[2] "Zarchiwizować %d zaznaczonych artykułów z %s?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "Przywrócić %d zarchiwizowany artykuł?"
 msgstr[1] "Przywrócić %d zarchiwizowane artykuły?"
 msgstr[2] "Przywrócić %d zarchiwizowanych artykułów?"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
 msgstr "Pamiętaj, iż artykuły nie oznaczone gwiazdką mogą zostać usunięte podczas następnej aktualizacji."
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "Oznaczyć %d wybrany artykuł z %s jako przeczytany?"
 msgstr[1] "Oznaczyć %d wybrane artykuły z %s jako przeczytane?"
 msgstr[2] "Oznaczyć %d wybranych artykułów z %s jako przeczytane?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr "Edytuj tagi artykułu"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
 msgstr "Zapisuję tagi artykułu..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "Nie wybrano żadnego artykułu."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "Nie znaleziono artykułów do oznaczenia"
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "Oznaczyć %d artykuł jako przeczytany?"
 msgstr[1] "Oznaczyć %d artykuły jako przeczytane?"
 msgstr[2] "Oznaczyć %d artykułów jako przeczytane?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "Otwórz oryginalny artykuł"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 msgid "Display article URL"
 msgstr "Wyświetl adres artykułu"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 msgid "Toggle marked"
 msgstr "Przełącz oznaczenie gwiazdką"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Przypisz etykietę"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "Usuń etykietę"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 msgid "Please enter new score for selected articles:"
 msgstr "Wprowadź nową punktację dla wybranych artykułów:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 msgid "Please enter new score for this article:"
 msgstr "Wprowadź nową punktację dla tego artykułu:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 msgid "Article URL:"
 msgstr "Adres artykułu:"
 
-#: plugins/digest/digest.js:72
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "Oznaczyć %d wyświetlony artykuł jako przeczytany?"
-msgstr[1] "Oznaczyć %d wyświetlone artykuły jako przeczytane?"
-msgstr[2] "Oznaczyć %d wyświetlonych artykułów jako przeczytane?"
-
-#: plugins/digest/digest.js:290
-msgid "Error: unable to load article."
-msgstr "Błąd: nie udało się wczytać artykułu."
-
-#: plugins/digest/digest.js:464
-msgid "Click to expand article."
-msgstr "Kliknij aby powiększyć artykuł."
-
-#: plugins/digest/digest.js:535
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "%d więcej..."
-msgstr[1] "%d więcej..."
-msgstr[2] "%d więcej..."
-
-#: plugins/digest/digest.js:542
-msgid "No unread feeds."
-msgstr "Brak nieprzeczytanych kanałów."
-
-#: plugins/digest/digest.js:649
-msgid "Load more..."
-msgstr "Wczytaj więcej..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr "Przykro mi, Twoja przeglądarka nie wspiera izolowanych obiektów iframe."
@@ -3635,6 +3492,93 @@ msgstr "Udostępnij artykuł"
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
 msgstr "Wykonaj kopię swojego katalogu tt-rss przed kontynuowaniem. Wpisz 'yes' aby kontynuować."
 
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Pokaż/Ukryj puste kategorie"
+
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Opublikowane artykuły i wygenerowane kanały"
+
+#~ msgid "Articles shared by URL"
+#~ msgstr "Wszystkie artykuły udostępnione przez adresy"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Te kanały nie zostały uaktualnione ponieważ wystąpiły błędy:"
+
+#~ msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
+#~ msgstr "Twoja przeglądarka nie obsługuje Javascript, który jest wymagany aby aplikacja działała poprawnie. Proszę sprawdź ustawienia swojej przeglądarki."
+
+#~ msgid "Hello,"
+#~ msgstr "Cześć,"
+
+#~ msgid "Regular version"
+#~ msgstr "Wersja standardowa"
+
+#~ msgid "Home"
+#~ msgstr "Stron główna"
+
+#~ msgid "Nothing found (click to reload feed)."
+#~ msgstr "Nic nie znaleziono (kliknij aby odświeżyć kanał)."
+
+#~ msgid "Open regular version"
+#~ msgstr "Otwórz standardową wersję"
+
+#~ msgid "Enable categories"
+#~ msgstr "Włącz kategorie"
+
+#~ msgid "ON"
+#~ msgstr "WŁĄCZONE"
+
+#~ msgid "OFF"
+#~ msgstr "WYŁĄCZONE"
+
+#~ msgid "Browse categories like folders"
+#~ msgstr "Przeglądaj kategorie jak katalogi"
+
+#~ msgid "Show images in posts"
+#~ msgstr "Wyświetlaj obrazki w artykułach"
+
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "Ukryj przeczytane artykuły i kanały"
+
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "Sortuj kanały według liczby nieprzeczytanych"
+
+#~ msgid "Article archive"
+#~ msgstr "Archiwum artykułów"
+
+#~ msgid "Example Pane"
+#~ msgstr "Przykładowe onko"
+
+#~ msgid "Sample value"
+#~ msgstr "Przykładowa wartość"
+
+#~ msgid "Set value"
+#~ msgstr "Ustaw wartość"
+
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "Oznaczyć %d wyświetlony artykuł jako przeczytany?"
+#~ msgstr[1] "Oznaczyć %d wyświetlone artykuły jako przeczytane?"
+#~ msgstr[2] "Oznaczyć %d wyświetlonych artykułów jako przeczytane?"
+
+#~ msgid "Error: unable to load article."
+#~ msgstr "Błąd: nie udało się wczytać artykułu."
+
+#~ msgid "Click to expand article."
+#~ msgstr "Kliknij aby powiększyć artykuł."
+
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "%d więcej..."
+#~ msgstr[1] "%d więcej..."
+#~ msgstr[2] "%d więcej..."
+
+#~ msgid "No unread feeds."
+#~ msgstr "Brak nieprzeczytanych kanałów."
+
+#~ msgid "Load more..."
+#~ msgstr "Wczytaj więcej..."
+
 #~ msgid "Switch to digest..."
 #~ msgstr "Przełącz na przegląd..."
 
index 3add14d83ae00d5b249720a32d14d315d6fa2aea..957d274570a0f8b8d13f448fd91af88c27eec87e 100644 (file)
Binary files a/locale/pt_BR/LC_MESSAGES/messages.mo and b/locale/pt_BR/LC_MESSAGES/messages.mo differ
index abd2745fe18abb95ead803efa6c7adb06b96e43c..694c01d719356237c08eaf137fabc2631d67d421 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tt-rss 1.2.14.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: 2007-10-24 00:47-0200\n"
 "Last-Translator: Marcelo Jorge VIeira (metal) <metal@alucinados.com>\n"
 "Language-Team: Portuguese/Brazil\n"
@@ -91,8 +91,8 @@ msgid "Weekly"
 msgstr "Semanalmente"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Usuário"
 
@@ -158,14 +158,13 @@ msgstr ""
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -180,14 +179,14 @@ msgstr ""
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -212,13 +211,13 @@ msgid "All Articles"
 msgstr ""
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "Favoritos"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "Publicado"
@@ -265,12 +264,11 @@ msgstr "Título"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Marcar como lido"
 
@@ -312,7 +310,7 @@ msgid "Feed actions:"
 msgstr "Ações do Feed:"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 #, fuzzy
 msgid "Subscribe to feed..."
 msgstr "Removendo o Feed..."
@@ -328,8 +326,8 @@ msgid "Rescore feed"
 msgstr "Removendo o Feed..."
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr ""
@@ -347,7 +345,7 @@ msgid "Other actions:"
 msgstr "Outras ações:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 #, fuzzy
 msgid "Toggle widescreen mode"
 msgstr "Remover as categorias selecionadas?"
@@ -372,56 +370,52 @@ msgid "Keyboard shortcuts help"
 msgstr "&nbsp;&nbsp;Criar filtro"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Sair"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Preferências"
 
-#: prefs.php:107
+#: prefs.php:106
 #, fuzzy
 msgid "Keyboard shortcuts"
 msgstr "&nbsp;&nbsp;Criar filtro"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Sair das preferências"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 #, fuzzy
 msgid "Feeds"
 msgstr "Feed"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 #, fuzzy
 msgid "Filters"
 msgstr "Arquivo:"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr ""
 
-#: prefs.php:129
+#: prefs.php:128
 #, fuzzy
 msgid "Users"
 msgstr "Usuário"
 
-#: prefs.php:132
+#: prefs.php:131
 msgid "System"
 msgstr ""
 
@@ -442,13 +436,13 @@ msgstr ""
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr ""
 
@@ -465,13 +459,13 @@ msgid "Check availability"
 msgstr ""
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 #, fuzzy
 msgid "Email:"
 msgstr "E-mail:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr ""
 
@@ -506,11 +500,11 @@ msgstr ""
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Não Categorizado"
 
@@ -527,343 +521,342 @@ msgid "No feeds found."
 msgstr "Sem Feeds para exibir."
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Especial"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Todos os feeds"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr ""
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr ""
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr ""
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 #, fuzzy
 msgid "All articles"
 msgstr "Favoritos"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 #, fuzzy
 msgid "Archived articles"
 msgstr "Favoritos"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr ""
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 #, fuzzy
 msgid "Navigation"
 msgstr "Salvar configuração"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 msgid "Open next feed"
 msgstr ""
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr ""
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 #, fuzzy
 msgid "Open next article"
 msgstr "Favoritos"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 #, fuzzy
 msgid "Open previous article"
 msgstr "Favoritos"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 #, fuzzy
 msgid "Show search dialog"
 msgstr "Favoritos"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 #, fuzzy
 msgid "Article"
 msgstr "Feed não encontrado."
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 #, fuzzy
 msgid "Toggle starred"
 msgstr "Marcar como favorito"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 #, fuzzy
 msgid "Toggle published"
 msgstr "Publicado"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr ""
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 #, fuzzy
 msgid "Edit tags"
 msgstr "Editar Tags"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 #, fuzzy
 msgid "Dismiss selected"
 msgstr "Remover os filtros selecionados?"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 #, fuzzy
 msgid "Dismiss read"
 msgstr "Favoritos"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 msgid "Open in new window"
 msgstr ""
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 #, fuzzy
 msgid "Mark below as read"
 msgstr "Marcar como lido"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 #, fuzzy
 msgid "Mark above as read"
 msgstr "Marcar como lido"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 msgid "Scroll down"
 msgstr ""
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr ""
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 #, fuzzy
 msgid "Select article under cursor"
 msgstr "Favoritos"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 #, fuzzy
 msgid "Email article"
 msgstr "Favoritos"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 #, fuzzy
 msgid "Close/collapse article"
 msgstr "Favoritos"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 #, fuzzy
 msgid "Toggle article expansion (combined mode)"
 msgstr "Remover as categorias selecionadas?"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 #, fuzzy
 msgid "Toggle embed original"
 msgstr "Remover as categorias selecionadas?"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 #, fuzzy
 msgid "Article selection"
 msgstr "Favoritos"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 #, fuzzy
 msgid "Select all articles"
 msgstr "Favoritos"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 #, fuzzy
 msgid "Select unread"
 msgstr "Favoritos"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 #, fuzzy
 msgid "Select starred"
 msgstr "Marcar como favorito"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 #, fuzzy
 msgid "Select published"
 msgstr "Favoritos"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 #, fuzzy
 msgid "Invert selection"
 msgstr "Favoritos"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 #, fuzzy
 msgid "Deselect everything"
 msgstr "Favoritos"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Feed"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 #, fuzzy
 msgid "Refresh current feed"
 msgstr "Favoritos"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 #, fuzzy
 msgid "Un/hide read feeds"
 msgstr "Favoritos"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr ""
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 #, fuzzy
 msgid "Edit feed"
 msgstr "Editar"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 #, fuzzy
 msgid "Reverse headlines"
 msgstr "Remover as categorias selecionadas?"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 #, fuzzy
 msgid "Debug feed update"
 msgstr "Desabilitar updates"
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 #, fuzzy
 msgid "Mark all feeds as read"
 msgstr "Marcando todos os feeds como lidos..."
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 #, fuzzy
 msgid "Un/collapse current category"
 msgstr "Salvando categoria..."
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 #, fuzzy
 msgid "Toggle combined mode"
 msgstr "Remover as categorias selecionadas?"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 #, fuzzy
 msgid "Toggle auto expand in combined mode"
 msgstr "Remover as categorias selecionadas?"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 msgid "Go to"
 msgstr ""
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr ""
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Núvem de tags"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 #, fuzzy
 msgid "Other"
 msgstr "Onde:"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr ""
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr ""
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 #, fuzzy
 msgid "Un/collapse sidebar"
 msgstr "Todos os feeds"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 #, fuzzy
 msgid "Show help dialog"
 msgstr "Favoritos"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr ""
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 #, fuzzy
 msgid " - "
 msgstr " - por "
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "sem tags"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 #, fuzzy
 msgid "Edit tags for this article"
 msgstr "Favoritos"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 #, fuzzy
 msgid "Originally from:"
 msgstr "Favoritos"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 #, fuzzy
 msgid "Feed URL"
 msgstr "Feed"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -873,48 +866,46 @@ msgstr "Feed"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Fechar esta janela"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr ""
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 #, fuzzy
 msgid "unknown type"
 msgstr "Erro desconhecido"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 #, fuzzy
 msgid "Attachments"
 msgstr "Conteúdo"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr ""
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Login:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "Senha:"
 
@@ -931,7 +922,7 @@ msgstr "Arquivo:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 #, fuzzy
 msgid "Default profile"
 msgstr "Padrão"
@@ -950,7 +941,6 @@ msgstr ""
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 #, fuzzy
 msgid "Log in"
 msgstr "Login"
@@ -969,12 +959,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr ""
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -984,19 +974,19 @@ msgstr "Salvar"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -1005,7 +995,7 @@ msgid "Cancel"
 msgstr "Cancelar"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 #, fuzzy
 msgid "Share with Tiny Tiny RSS"
 msgstr "Removendo o Feed..."
@@ -1015,8 +1005,8 @@ msgid "Title:"
 msgstr "Título"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 #, fuzzy
@@ -1045,95 +1035,94 @@ msgstr ""
 msgid "Not logged in"
 msgstr "Último Login"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr ""
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, fuzzy, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Não pode criar o usuário <b>%s</b>"
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, fuzzy, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Removendo o Feed..."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, fuzzy, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Não pode criar o usuário <b>%s</b>"
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, fuzzy, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "Sem Feeds para exibir."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 #, fuzzy
 msgid "Multiple feed URLs found."
 msgstr "Sem Feeds para exibir."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, fuzzy, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "Não pode criar o usuário <b>%s</b>"
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 #, fuzzy
 msgid "Subscribe to selected feed"
 msgstr "Removendo o Feed..."
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr ""
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 #, fuzzy
 msgid "Password recovery"
 msgstr "Senha:"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
 msgstr ""
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 #, fuzzy
 msgid "Reset password"
 msgstr "Senha nova"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr ""
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 msgid "Go back"
 msgstr ""
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr ""
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "Seu nível de acesso é insuficiente para executar esse script."
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr ""
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr ""
 
@@ -1224,7 +1213,7 @@ msgstr "Todos os feeds"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 #, fuzzy
 msgid "View as RSS"
 msgstr "Editar Tags"
@@ -1234,17 +1223,17 @@ msgid "Select:"
 msgstr "Selecione:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "Todos"
@@ -1255,17 +1244,17 @@ msgid "Invert"
 msgstr "(Inverso)"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "Nenhum"
@@ -1300,10 +1289,10 @@ msgid "Move back"
 msgstr ""
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 #, fuzzy
 msgid "Delete"
 msgstr "Padrão"
@@ -1321,7 +1310,7 @@ msgid "Feed:"
 msgstr "Feed:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Feed não encontrado."
 
@@ -1335,156 +1324,156 @@ msgstr "Nunca remover"
 msgid "Imported at %s"
 msgstr "Importar"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 #, fuzzy
 msgid "mark as read"
 msgstr "Marcar como lido"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 #, fuzzy
 msgid "Collapse article"
 msgstr "Favoritos"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 #, fuzzy
 msgid "No unread articles found to display."
 msgstr "Sem Feeds para exibir."
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 #, fuzzy
 msgid "No updated articles found to display."
 msgstr "Sem Feeds para exibir."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 #, fuzzy
 msgid "No starred articles found to display."
 msgstr "Sem Feeds para exibir."
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
 msgstr ""
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 #, fuzzy
 msgid "No articles found to display."
 msgstr "Sem Feeds para exibir."
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, fuzzy, php-format
 msgid "Feeds last updated at %s"
 msgstr "Atualizar"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "Alguns feeds estão com erros (clique aqui para detalhes)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Nenhum feed foi selecionado."
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 #, fuzzy
 msgid "Feed or site URL"
 msgstr "Feed"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 #, fuzzy
 msgid "Place in category:"
 msgstr "Salvando categoria..."
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 #, fuzzy
 msgid "Available feeds"
 msgstr "Todos os feeds"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr ""
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Login"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 #, fuzzy
 msgid "Password"
 msgstr "Senha:"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Este feed requer autenticação."
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr ""
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 #, fuzzy
 msgid "More feeds"
 msgstr "Removendo o Feed..."
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr ""
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 #, fuzzy
 msgid "Popular feeds"
 msgstr "Todos os feeds"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 #, fuzzy
 msgid "Feed archive"
 msgstr "Ações do Feed:"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 #, fuzzy
 msgid "limit:"
 msgstr "Limite:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Remover"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr ""
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr ""
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr ""
 
@@ -1559,21 +1548,21 @@ msgid "Processing category: %s"
 msgstr "Salvando categoria..."
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr ""
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 #, fuzzy
 msgid "Unable to move uploaded file."
 msgstr "Favoritos"
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr ""
@@ -1601,7 +1590,7 @@ msgid "User not found"
 msgstr "Feed não encontrado."
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 #, fuzzy
 msgid "Registered"
 msgstr "Remover as categorias selecionadas?"
@@ -1621,119 +1610,119 @@ msgstr "Removendo o Feed..."
 msgid "Subscribed feeds"
 msgstr "Removendo o Feed..."
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 #, fuzzy
 msgid "Access level: "
 msgstr "Nível de acesso:"
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 #, fuzzy
 msgid "Change password to"
 msgstr "Mudar senha"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 #, fuzzy
 msgid "Options"
 msgstr "Opções:"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 #, fuzzy
 msgid "E-mail: "
 msgstr "E-mail:"
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "Adicionado usuário  <b>%s</b> com senha <b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "Não pode criar o usuário <b>%s</b>"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "O usuário <b>%s</b> já existe."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, fuzzy, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 "Alterada a senha do usuário <b>%s</b>\n"
 "\t\t\t\t\t para <b>%s</b>"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, fuzzy, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 "Alterada a senha do usuário <b>%s</b>\n"
 "\t\t\t\t\t para <b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr ""
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 #, fuzzy
 msgid "Select"
 msgstr "Selecione:"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Criar um usuário"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 #, fuzzy
 msgid "Details"
 msgstr "Diariamente"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Editar"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Nível de acesso"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Último Login"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 #, fuzzy
 msgid "Click to edit"
 msgstr "Favoritos"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 #, fuzzy
 msgid "No users defined."
 msgstr "Nenhum usuário foi selecionado."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 #, fuzzy
 msgid "No matching users found."
 msgstr "Sem Feeds para exibir."
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 #, fuzzy
 msgid "Caption"
 msgstr "Opções:"
@@ -1761,139 +1750,138 @@ msgstr "Não pode criar o usuário <b>%s</b>"
 msgid "Clear colors"
 msgstr "Favoritos"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 #, fuzzy
 msgid "Articles matching this filter:"
 msgstr "Sem Feeds para exibir."
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 #, fuzzy
 msgid "No recent articles matching this filter have been found."
 msgstr "Sem Feeds para exibir."
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr ""
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr ""
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr ""
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 #, fuzzy
 msgid "Apply actions"
 msgstr "Ações do Feed:"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Ativado"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 #, fuzzy
 msgid "Match any rule"
 msgstr "Favoritos"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 #, fuzzy
 msgid "Inverse matching"
 msgstr "Favoritos"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Teste"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 #, fuzzy
 msgid "(inverse)"
 msgstr "(Inverso)"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr ""
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr ""
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 #, fuzzy
 msgid "Reset sort order"
 msgstr "Remover as categorias selecionadas?"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 #, fuzzy
 msgid "Rescore articles"
 msgstr "Favoritos"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Criar"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr ""
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 #, fuzzy
 msgid "on field"
 msgstr "Feed"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 #, fuzzy
 msgid "in"
 msgstr "Link"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #, fuzzy
 msgid "Save rule"
 msgstr "Salvar"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 msgid "Add rule"
 msgstr ""
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 #, fuzzy
 msgid "Perform Action"
 msgstr "Ação"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr ""
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #, fuzzy
 msgid "Save action"
 msgstr "Ações do Feed:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 #, fuzzy
 msgid "Add action"
 msgstr "Ações do Feed:"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 #, fuzzy
 msgid "[No caption]"
 msgstr "Opções:"
@@ -2042,7 +2030,6 @@ msgid "Purge unread articles"
 msgstr ""
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr ""
 
@@ -2084,7 +2071,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr ""
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr ""
 
@@ -2289,95 +2276,94 @@ msgid "Reset to defaults"
 msgstr "Usar o padrão"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr ""
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 msgstr ""
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr ""
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 #, fuzzy
 msgid "Description"
 msgstr "descrição"
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr ""
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr ""
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr ""
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 #, fuzzy
 msgid "Clear data"
 msgstr "Salvando o Feed..."
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 #, fuzzy
 msgid "Enable selected plugins"
 msgstr "Editar categorias"
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 #, fuzzy
 msgid "Incorrect one time password"
 msgstr "Senha nova"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 #, fuzzy
 msgid "Incorrect password"
 msgstr "Senha nova"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr ""
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 #, fuzzy
 msgid "Create profile"
 msgstr "Criar um usuário"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr ""
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 #, fuzzy
 msgid "Remove selected profiles"
 msgstr "Remover os filtros selecionados?"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 #, fuzzy
 msgid "Activate profile"
 msgstr "Remover os filtros selecionados?"
@@ -2387,301 +2373,275 @@ msgstr "Remover os filtros selecionados?"
 msgid "Check to enable field"
 msgstr "Favoritos"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 #, fuzzy
 msgid "Feed Title"
 msgstr "Título"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Atualizar"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 #, fuzzy
 msgid "Article purging:"
 msgstr "Feed não encontrado."
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 #, fuzzy
 msgid "Hide from Popular feeds"
 msgstr "Todos os feeds"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 #, fuzzy
 msgid "Include in e-mail digest"
 msgstr "Marcando todos os feeds como lidos..."
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr ""
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr ""
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr ""
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 #, fuzzy
 msgid "Mark updated articles as unread"
 msgstr "Marcando todos os feeds como lidos..."
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 #, fuzzy
 msgid "Icon"
 msgstr "Ação"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr ""
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 #, fuzzy
 msgid "Resubscribe to push updates"
 msgstr "Removendo o Feed..."
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr ""
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 #, fuzzy
 msgid "Feeds with errors"
 msgstr "Editor de Feed"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 #, fuzzy
 msgid "Inactive feeds"
 msgstr "Editar"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 #, fuzzy
 msgid "Edit selected feeds"
 msgstr "Removendo filtros selecionados…"
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr ""
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 #, fuzzy
 msgid "Categories"
 msgstr "Categoria:"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 #, fuzzy
 msgid "Add category"
 msgstr "Adicionando o Feed..."
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 #, fuzzy
 msgid "Remove selected"
 msgstr "Remover os filtros selecionados?"
 
-#: classes/pref/feeds.php:1361
-#, fuzzy
-msgid "(Un)hide empty categories"
-msgstr "Editar categorias"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 #, fuzzy
 msgid "More actions..."
 msgstr "Ações..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr ""
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 #, fuzzy
 msgid "Clear feed data"
 msgstr "Salvando o Feed..."
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr ""
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr ""
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 #, fuzzy
 msgid "Import my OPML"
 msgstr "Importando OPML (usando a extensão DOMXML)..."
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr ""
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
 msgstr ""
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 #, fuzzy
 msgid "Export OPML"
 msgstr "Exportar OPML"
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr ""
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 #, fuzzy
 msgid "Firefox integration"
 msgstr "Informações do Feed:"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr ""
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr ""
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 #, fuzzy
 msgid "Published & shared articles / Generated feeds"
 msgstr "Remover os filtros selecionados?"
 
-#: classes/pref/feeds.php:1489
-#, fuzzy
-msgid "Published articles and generated feeds"
-msgstr "Remover os filtros selecionados?"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr ""
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr ""
 
-#: classes/pref/feeds.php:1502
-#, fuzzy
-msgid "Articles shared by URL"
-msgstr "Favoritos"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr ""
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 #, fuzzy
 msgid "Unshare all articles"
 msgstr "Favoritos"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr ""
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 #, fuzzy
 msgid "Click to edit feed"
 msgstr "Favoritos"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 #, fuzzy
 msgid "Unsubscribe from selected feeds"
 msgstr "Removendo o Feed..."
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr ""
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr ""
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr ""
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 #, fuzzy
 msgid "Feeds require authentication."
 msgstr "Este feed requer autenticação."
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr ""
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 msgid "Refresh"
 msgstr ""
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "Favoritos"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr ""
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 msgid "Filename"
 msgstr ""
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr ""
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 #, fuzzy
 msgid "Date"
 msgstr "Atualizar"
 
-#: plugins/digest/digest_body.php:57
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr ""
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Olá,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr ""
-
 #: plugins/close_button/init.php:22
 #, fuzzy
 msgid "Close article"
@@ -2719,64 +2679,6 @@ msgstr "E-mail alterado."
 msgid "Old password is incorrect."
 msgstr "Senha antiga incorreta"
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr ""
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr ""
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr ""
-
-#: plugins/mobile/prefs.php:30
-#, fuzzy
-msgid "Enable categories"
-msgstr "Editar categorias"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr ""
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr ""
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr ""
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr ""
-
-#: plugins/mobile/prefs.php:46
-#, fuzzy
-msgid "Hide read articles and feeds"
-msgstr "Favoritos"
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr ""
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2821,12 +2723,12 @@ msgstr ""
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "Removendo o Feed..."
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 #, fuzzy
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Removendo o Feed..."
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr ""
 
@@ -2835,12 +2737,7 @@ msgid "Import and export"
 msgstr ""
 
 #: plugins/import_export/init.php:60
-#, fuzzy
-msgid "Article archive"
-msgstr "Feed não encontrado."
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
 msgstr ""
 
 #: plugins/import_export/init.php:65
@@ -2852,49 +2749,49 @@ msgstr "Exportar OPML"
 msgid "Import"
 msgstr "Importar"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr ""
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr ""
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr ""
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, fuzzy, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] "Editar Tags"
 msgstr[1] "Editar Tags"
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] ""
 msgstr[1] ""
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, fuzzy, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] "Nenhum feed foi selecionado."
 msgstr[1] "Nenhum feed foi selecionado."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr ""
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 #, fuzzy
 msgid "Prepare data"
 msgstr "Salvar"
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 #, fuzzy
 msgid "No file uploaded."
@@ -2924,19 +2821,6 @@ msgstr "Mudar E-mail"
 msgid "Edit article note"
 msgstr "Editar Tags"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr ""
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr ""
-
-#: plugins/example/init.php:73
-#, fuzzy
-msgid "Set value"
-msgstr "Marcar como favorito"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -3071,24 +2955,23 @@ msgstr "Atualizado"
 msgid "Start update"
 msgstr "Atualizado"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 #, fuzzy
 msgid "Mark all articles in %s as read?"
 msgstr "Marcando todos os feeds como lidos..."
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 #, fuzzy
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "Marcando todos os feeds como lidos..."
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 #, fuzzy
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "Marcando todos os feeds como lidos..."
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 #, fuzzy
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "Marcando todos os feeds como lidos..."
@@ -3211,7 +3094,7 @@ msgid "Subscription reset."
 msgstr "Removendo o Feed..."
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 #, fuzzy
 msgid "Unsubscribe from %s?"
 msgstr "Removendo o Feed..."
@@ -3236,8 +3119,8 @@ msgid "Trying to change address..."
 msgstr "Tentando alterar senha ..."
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr ""
 
@@ -3622,264 +3505,226 @@ msgstr ""
 msgid "Shared URLs cleared."
 msgstr ""
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 #, fuzzy
 msgid "Label Editor"
 msgstr "Editor de Feed"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 #, fuzzy
 msgid "Subscribing to feeds..."
 msgstr "Removendo o Feed..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr ""
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 #, fuzzy
 msgid "Mark all articles as read?"
 msgstr "Marcando todos os feeds como lidos..."
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr "Marcando todos os feeds como lidos..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 #, fuzzy
 msgid "Please enable mail plugin first."
 msgstr "Por favor selecione somente um feed"
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 #, fuzzy
 msgid "Please enable embed_original plugin first."
 msgstr "Por favor selecione somente um feed"
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr ""
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr ""
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 #, fuzzy
 msgid "Please select some feed first."
 msgstr "Por favor selecione somente um feed"
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr ""
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 #, fuzzy
 msgid "Rescore articles in %s?"
 msgstr "Favoritos"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 #, fuzzy
 msgid "Rescoring articles..."
 msgstr "Favoritos"
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr ""
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 #, fuzzy
 msgid "Cancel search"
 msgstr "Cancelar"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 #, fuzzy
 msgid "Unstar article"
 msgstr "Favoritos"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 #, fuzzy
 msgid "Star article"
 msgstr "Favoritos"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 #, fuzzy
 msgid "Unpublish article"
 msgstr "Publicado"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr ""
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 #, fuzzy
 msgid "%d article selected"
 msgid_plural "%d articles selected"
 msgstr[0] "Nenhum filtro foi selecionado."
 msgstr[1] "Nenhum filtro foi selecionado."
 
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 #, fuzzy
 msgid "No articles are selected."
 msgstr "Nenhum filtro foi selecionado."
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 #, fuzzy
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "Favoritos"
 msgstr[1] "Favoritos"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 #, fuzzy
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "Remover os filtros selecionados?"
 msgstr[1] "Remover os filtros selecionados?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 #, fuzzy
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "Favoritos"
 msgstr[1] "Favoritos"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 #, fuzzy
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "Favoritos"
 msgstr[1] "Favoritos"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
 msgstr ""
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 #, fuzzy
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "Marcando todos os feeds como lidos..."
 msgstr[1] "Marcando todos os feeds como lidos..."
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 #, fuzzy
 msgid "Edit article Tags"
 msgstr "Editar Tags"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 #, fuzzy
 msgid "Saving article tags..."
 msgstr "Salvando categoria..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 #, fuzzy
 msgid "No article is selected."
 msgstr "Nenhum filtro foi selecionado."
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 #, fuzzy
 msgid "No articles found to mark"
 msgstr "Sem Feeds para exibir."
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 #, fuzzy
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "Marcando todos os feeds como lidos..."
 msgstr[1] "Marcando todos os feeds como lidos..."
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 #, fuzzy
 msgid "Open original article"
 msgstr "Favoritos"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 #, fuzzy
 msgid "Display article URL"
 msgstr "Favoritos"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 #, fuzzy
 msgid "Toggle marked"
 msgstr "Marcar como favorito"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr ""
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 #, fuzzy
 msgid "Remove label"
 msgstr "Remover"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 #, fuzzy
 msgid "Please enter new score for selected articles:"
 msgstr "Remover os filtros selecionados?"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 #, fuzzy
 msgid "Please enter new score for this article:"
 msgstr "Salvando categoria..."
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 #, fuzzy
 msgid "Article URL:"
 msgstr "Feed não encontrado."
 
-#: plugins/digest/digest.js:72
-#, fuzzy
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "Marcando todos os feeds como lidos..."
-msgstr[1] "Marcando todos os feeds como lidos..."
-
-#: plugins/digest/digest.js:290
-#, fuzzy
-msgid "Error: unable to load article."
-msgstr "Favoritos"
-
-#: plugins/digest/digest.js:464
-#, fuzzy
-msgid "Click to expand article."
-msgstr "Favoritos"
-
-#: plugins/digest/digest.js:535
-#, fuzzy
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "Salvando o Feed..."
-msgstr[1] "Salvando o Feed..."
-
-#: plugins/digest/digest.js:542
-#, fuzzy
-msgid "No unread feeds."
-msgstr "Favoritos"
-
-#: plugins/digest/digest.js:649
-#, fuzzy
-msgid "Load more..."
-msgstr "Salvando o Feed..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr ""
@@ -3965,6 +3810,65 @@ msgstr "Favoritos"
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
 msgstr ""
 
+#, fuzzy
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Editar categorias"
+
+#, fuzzy
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Remover os filtros selecionados?"
+
+#, fuzzy
+#~ msgid "Articles shared by URL"
+#~ msgstr "Favoritos"
+
+#~ msgid "Hello,"
+#~ msgstr "Olá,"
+
+#, fuzzy
+#~ msgid "Enable categories"
+#~ msgstr "Editar categorias"
+
+#, fuzzy
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "Favoritos"
+
+#, fuzzy
+#~ msgid "Article archive"
+#~ msgstr "Feed não encontrado."
+
+#, fuzzy
+#~ msgid "Set value"
+#~ msgstr "Marcar como favorito"
+
+#, fuzzy
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "Marcando todos os feeds como lidos..."
+#~ msgstr[1] "Marcando todos os feeds como lidos..."
+
+#, fuzzy
+#~ msgid "Error: unable to load article."
+#~ msgstr "Favoritos"
+
+#, fuzzy
+#~ msgid "Click to expand article."
+#~ msgstr "Favoritos"
+
+#, fuzzy
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "Salvando o Feed..."
+#~ msgstr[1] "Salvando o Feed..."
+
+#, fuzzy
+#~ msgid "No unread feeds."
+#~ msgstr "Favoritos"
+
+#, fuzzy
+#~ msgid "Load more..."
+#~ msgstr "Salvando o Feed..."
+
 #, fuzzy
 #~ msgid "Show tag cloud..."
 #~ msgstr "núvem de tags"
index 58731f8f36897890ab5e35c6cf8465133801ef82..0e7233a09b57c4bfe859f77713715812604ab539 100644 (file)
Binary files a/locale/ru_RU/LC_MESSAGES/messages.mo and b/locale/ru_RU/LC_MESSAGES/messages.mo differ
index 0d5c144f7b01e61fd69c487c7e73112f067b49e9..34ed557836a0f0ea03309398b57d684bfe0dbf98 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: 2009-05-29 14:38+0300\n"
 "Last-Translator: Max Kamashev <max.kamashev@floscoeli.com>\n"
 "Language-Team: Русский <ru@li.org>\n"
@@ -92,8 +92,8 @@ msgid "Weekly"
 msgstr "Раз в неделю"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "Пользователь"
 
@@ -159,14 +159,13 @@ msgstr "неудавшийся тест экранирования SQL, пров
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -181,14 +180,14 @@ msgstr "неудавшийся тест экранирования SQL, пров
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -211,13 +210,13 @@ msgid "All Articles"
 msgstr "Все статьи"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "Отмеченные"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "Опубликован"
@@ -263,12 +262,11 @@ msgstr "Заголовок"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "Как прочитанные"
 
@@ -310,7 +308,7 @@ msgid "Feed actions:"
 msgstr "Действия над каналами:"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "Подписаться на канал..."
 
@@ -323,8 +321,8 @@ msgid "Rescore feed"
 msgstr "Заново оценить канал"
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "Отписаться"
@@ -342,7 +340,7 @@ msgid "Other actions:"
 msgstr "Другие действия:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 #, fuzzy
 msgid "Toggle widescreen mode"
 msgstr "Переключить изменение режима категории"
@@ -364,52 +362,48 @@ msgid "Keyboard shortcuts help"
 msgstr "Горячие клавиши"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "Выход"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "Настройки"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "Горячие Клавиши"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "Закрыть настройки"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "Каналы"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "Фильтры"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "Метки"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "Пользователи"
 
-#: prefs.php:132
+#: prefs.php:131
 msgid "System"
 msgstr ""
 
@@ -430,13 +424,13 @@ msgstr "Регистрация новых пользователей запре
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "Вернуться к Tiny Tiny RSS"
 
@@ -453,12 +447,12 @@ msgid "Check availability"
 msgstr "Проверить доступность"
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "E-mail: "
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "Сколько будет, два плюс два:"
 
@@ -493,11 +487,11 @@ msgstr "Tiny Tiny RSS база данных обновлена."
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "Нет категории"
 
@@ -514,332 +508,331 @@ msgid "No feeds found."
 msgstr "Каналы не найдены."
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "Особые"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "Все каналы"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "Отмеченные"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "Опубликованные"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "Свежие"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "Все статьи"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "Архив статей"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr ""
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "Навигация"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 #, fuzzy
 msgid "Open next feed"
 msgstr "Генерировать канал"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr ""
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 #, fuzzy
 msgid "Open next article"
 msgstr "Показать оригинальное содержимое статьи"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 #, fuzzy
 msgid "Open previous article"
 msgstr "Показать оригинальное содержимое статьи"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "Показать диалог поиска"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 #, fuzzy
 msgid "Article"
 msgstr "Все статьи"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "Изм. отмеченное"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "Отметить / снять отметку"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "Прочитано / не прочитано"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "Редактировать теги"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 #, fuzzy
 msgid "Dismiss selected"
 msgstr "Скрыть выбранные статьи"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 #, fuzzy
 msgid "Dismiss read"
 msgstr "Опубликовать"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 #, fuzzy
 msgid "Open in new window"
 msgstr "Открыть статью в новом окне"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr "Отметить статьи ниже как прочитанные"
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr "Отметить статьи выше как прочитанные"
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 #, fuzzy
 msgid "Scroll down"
 msgstr "Всё выполнено."
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr ""
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 #, fuzzy
 msgid "Select article under cursor"
 msgstr "Выбрать статью под курсором мыши"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr "Отправить по почте"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 #, fuzzy
 msgid "Close/collapse article"
 msgstr "Закрыть статью"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 #, fuzzy
 msgid "Toggle article expansion (combined mode)"
 msgstr "Переключить изменение режима категории"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 #, fuzzy
 msgid "Toggle embed original"
 msgstr "Переключить изменение режима категории"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 #, fuzzy
 msgid "Article selection"
 msgstr "Инвертировать выделение"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr "Выбрать все статьи"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 #, fuzzy
 msgid "Select unread"
 msgstr "Выбрать непрочитанные статьи"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 #, fuzzy
 msgid "Select starred"
 msgstr "Отметить"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 #, fuzzy
 msgid "Select published"
 msgstr "Выбрать непрочитанные статьи"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 #, fuzzy
 msgid "Invert selection"
 msgstr "Инвертировать выделение"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 #, fuzzy
 msgid "Deselect everything"
 msgstr "Очистить выделение статей"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "Канал"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 #, fuzzy
 msgid "Refresh current feed"
 msgstr "Обновить активный канал"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 #, fuzzy
 msgid "Un/hide read feeds"
 msgstr "Показать/скрыть прочитанные"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "Подписаться на канал"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "Редактировать канал"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 #, fuzzy
 msgid "Reverse headlines"
 msgstr "Обратный порядок заголовков"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 #, fuzzy
 msgid "Debug feed update"
 msgstr "Все каналы обновлены."
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "Отметить все каналы как прочитанные"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 #, fuzzy
 msgid "Un/collapse current category"
 msgstr "Щёлкните, чтобы развернуть категорию"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 #, fuzzy
 msgid "Toggle combined mode"
 msgstr "Переключить изменение режима категории"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 #, fuzzy
 msgid "Toggle auto expand in combined mode"
 msgstr "Переключить изменение режима категории"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 #, fuzzy
 msgid "Go to"
 msgstr "Перейти к.."
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 #, fuzzy
 msgid "Fresh"
 msgstr "Обновить"
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "Облако тегов"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 #, fuzzy
 msgid "Other"
 msgstr "Другой:"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "Создать метку"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "Создать фильтр"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 #, fuzzy
 msgid "Un/collapse sidebar"
 msgstr "Развернуть боковую панель"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 #, fuzzy
 msgid "Show help dialog"
 msgstr "Показать диалог поиска"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, fuzzy, php-format
 msgid "Search results: %s"
 msgstr "Результаты поиска"
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "нет тегов"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "Редактировать теги статьи"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 msgid "Originally from:"
 msgstr "Оригинал:"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 #, fuzzy
 msgid "Feed URL"
 msgstr "Канал"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -849,48 +842,46 @@ msgstr "Канал"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "Закрыть это окно"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 #, fuzzy
 msgid "(edit note)"
 msgstr "править заметку"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "неизвестный тип"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 #, fuzzy
 msgid "Attachments"
 msgstr "Вложения:"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr ""
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "Логин:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "Пароль:"
 
@@ -906,7 +897,7 @@ msgstr "Профиль:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "Профиль по умолчанию"
 
@@ -924,7 +915,6 @@ msgstr ""
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "Войти"
 
@@ -941,12 +931,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "Теги для этой статьи (разделенные запятыми):"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -956,19 +946,19 @@ msgstr "Сохранить"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -977,7 +967,7 @@ msgid "Cancel"
 msgstr "Отмена"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 #, fuzzy
 msgid "Share with Tiny Tiny RSS"
 msgstr "Вернуться к Tiny Tiny RSS"
@@ -987,8 +977,8 @@ msgid "Title:"
 msgstr "Заголовок:"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -1017,95 +1007,94 @@ msgstr ""
 msgid "Not logged in"
 msgstr "Последний вход"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "Некорректное имя пользователя или пароль"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "Канал <b>%s</b> уже подписан."
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "Добавлена подписка на <b>%s</b>."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, fuzzy, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "Канал <b>%s</b> уже подписан."
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, fuzzy, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "Каналы не найдены."
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 #, fuzzy
 msgid "Multiple feed URLs found."
 msgstr "Опубликованный URL канала изменён."
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, fuzzy, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "Канал <b>%s</b> уже подписан."
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 #, fuzzy
 msgid "Subscribe to selected feed"
 msgstr "Отписаться от выбранных каналов?"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "Редактировать опции  подписки"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 #, fuzzy
 msgid "Password recovery"
 msgstr "Пароль"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
 msgstr ""
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "Сбросить пароль"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr ""
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 #, fuzzy
 msgid "Go back"
 msgstr "Переместить назад"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr ""
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "В доступе отказано - недостаточный уровень привилегий."
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "Обновление базы данных"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "Применить обновления"
 
@@ -1200,7 +1189,7 @@ msgstr "Показать в формате RSS"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "Показать в формате RSS"
 
@@ -1209,17 +1198,17 @@ msgid "Select:"
 msgstr "Выбрать:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "Все"
@@ -1229,17 +1218,17 @@ msgid "Invert"
 msgstr "Инвертировать"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "Ничего"
@@ -1271,10 +1260,10 @@ msgid "Move back"
 msgstr "Переместить назад"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "Удалить"
 
@@ -1290,7 +1279,7 @@ msgid "Feed:"
 msgstr "Канал:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "Канал не найден."
 
@@ -1304,148 +1293,148 @@ msgstr "Никогда"
 msgid "Imported at %s"
 msgstr "Импортировать"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "Отметить как прочитанные"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 #, fuzzy
 msgid "Collapse article"
 msgstr "Закрыть статью"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "Не найдено не прочитанных статей"
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "Не найдено не прочитанных статей."
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "Не найдено отмеченных статей"
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 #, fuzzy
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
 msgstr "Нет статей для показа. Вы можете присвоить метку вручную (смотрите выше меню Действия) или используйте фильтр."
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "Статей не найдено."
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "Последнее обновление в %s"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "Некоторые каналы не могут быть обновлены (щёлкните для подробностей)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "Канал не выбран."
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 #, fuzzy
 msgid "Feed or site URL"
 msgstr "Канал"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "Поместить в категорию:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "Доступные каналы"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "Авторизация"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "Пользователь:"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "Пароль"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "Этот канал требует авторизации."
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "Подписаться"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "Другие каналы"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "Поиск"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 #, fuzzy
 msgid "Popular feeds"
 msgstr "показать каналы"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 #, fuzzy
 msgid "Feed archive"
 msgstr "Действия над каналом:"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 #, fuzzy
 msgid "limit:"
 msgstr "Сколько:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "Удалить"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr ""
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "Ограничить поиск:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "Этот канал"
 
@@ -1518,21 +1507,21 @@ msgid "Processing category: %s"
 msgstr "Поместить в категорию:"
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr ""
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 #, fuzzy
 msgid "Unable to move uploaded file."
 msgstr "Ошибка: пожалуйста загрузите OPML файл."
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "Ошибка: пожалуйста загрузите OPML файл."
@@ -1558,7 +1547,7 @@ msgid "User not found"
 msgstr "Пользователь не найден"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "Зарегистрирован"
 
@@ -1574,106 +1563,106 @@ msgstr "Количество подписанных каналов"
 msgid "Subscribed feeds"
 msgstr "Подписан на каналы"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "Уровень доступа:"
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "Изменить пароль на"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "Опции:"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "E-mail: "
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "Добавлен пользователь <b>%s</b> с паролем <b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "Не могу добавить пользователя <b>%s</b>"
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "Пользователь <b>%s</b> уже существует."
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, fuzzy, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr "Пароль пользователя <b>%s</b> изменен на <b>%s</b>"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, fuzzy, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr "Пароль пользователя <b>%s</b> изменен на <b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] Уведомление о смене пароля"
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 msgid "Select"
 msgstr "Выбрать"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "Добавить пользователя"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "Подробнее"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "Редактировать"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "Уровень доступа:"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "Последний вход"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "Щёлкните для редактирования"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "Пользователи не определены."
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "Подходящих пользователей не найдено."
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "Заголовок"
 
@@ -1698,135 +1687,134 @@ msgstr "Добавлена метка <b>%s</b>"
 msgid "Clear colors"
 msgstr "Очистить цвета"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 #, fuzzy
 msgid "Articles matching this filter:"
 msgstr "Не найдено совпадений с фильтром."
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 #, fuzzy
 msgid "No recent articles matching this filter have been found."
 msgstr "Не найдено совпадений с фильтром."
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr ""
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "Искать"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr "Добавить"
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 #, fuzzy
 msgid "Apply actions"
 msgstr "Действия над каналом"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "Включен"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 #, fuzzy
 msgid "Match any rule"
 msgstr "Соответствие:"
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 #, fuzzy
 msgid "Inverse matching"
 msgstr "Инвертировать фильтр"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "Проверить"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 #, fuzzy
 msgid "(inverse)"
 msgstr "(Инвертирован)"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr ""
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr ""
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "Сбросить сортировку"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "Заново оценить статьи"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "Создать"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr ""
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "по полю:"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr "в"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #, fuzzy
 msgid "Save rule"
 msgstr "Сохранить"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 #, fuzzy
 msgid "Add rule"
 msgstr "Добавить метку..."
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "Выполнить действия"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "с параметрами:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #, fuzzy
 msgid "Save action"
 msgstr "Действия над каналами"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 #, fuzzy
 msgid "Add action"
 msgstr "Действия над каналом"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 msgid "[No caption]"
 msgstr "[Нет заголовка]"
 
@@ -1978,7 +1966,6 @@ msgid "Purge unread articles"
 msgstr "Очистить непрочитанные статьи"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "Обратный порядок заголовков (старые впереди)"
 
@@ -2020,7 +2007,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr "Вырезать все, кроме основных HTML тегов при показе статей."
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "Изменить пользовательские стили"
 
@@ -2219,94 +2206,93 @@ msgid "Reset to defaults"
 msgstr "Сбросить настройки"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr ""
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 msgstr ""
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr ""
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 #, fuzzy
 msgid "Description"
 msgstr "описание"
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr ""
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr ""
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr ""
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 #, fuzzy
 msgid "Clear data"
 msgstr "Очистить данные канала."
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 #, fuzzy
 msgid "Enable selected plugins"
 msgstr "Разрешить иконки каналов"
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 #, fuzzy
 msgid "Incorrect one time password"
 msgstr "Некорректное имя пользователя или пароль"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 #, fuzzy
 msgid "Incorrect password"
 msgstr "Некорректное имя пользователя или пароль"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr ""
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "Создать профиль"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 #, fuzzy
 msgid "(active)"
 msgstr "Адаптивно"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "Удалить выбранные профили?"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "Активировать профиль"
 
@@ -2314,297 +2300,267 @@ msgstr "Активировать профиль"
 msgid "Check to enable field"
 msgstr "Проверить доступность поля"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "Заголовок"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "Обновить"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "Удаление сообщений:"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "Спрятать из списка популярных каналов"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "Включить в e-mail дайджест"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "Всегда показывать вложенные изображения"
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr ""
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "Кэшировать изображения локально"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "Пометить все статьи как прочитанные?"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr "Иконка"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "Заменить"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr "Переподписаться на PUSH обновления"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr "Сбрасывает статусподписки с помощью механизма PubSubHubbub"
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "Всё выполнено."
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "Каналы с ошибками"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 msgid "Inactive feeds"
 msgstr "Неактивные каналы"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "Редактировать выбранные каналы"
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 #, fuzzy
 msgid "Batch subscribe"
 msgstr "Отписаться"
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 msgid "Categories"
 msgstr "Категории"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 #, fuzzy
 msgid "Add category"
 msgstr "Добавить категорию..."
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 #, fuzzy
 msgid "Remove selected"
 msgstr "Удалить выбранные фильтры?"
 
-#: classes/pref/feeds.php:1361
-#, fuzzy
-msgid "(Un)hide empty categories"
-msgstr "Редактировать категории"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "Действия..."
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "Ручная очистка"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "Очистить данные канала."
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr ""
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr "Только главный профиль настроек будет экспортирован в OPML."
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 #, fuzzy
 msgid "Import my OPML"
 msgstr "Импортирую OPML..."
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 #, fuzzy
 msgid "Filename:"
 msgstr "Полное имя"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 #, fuzzy
 msgid "Include settings"
 msgstr "Включить в e-mail дайджест"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 #, fuzzy
 msgid "Export OPML"
 msgstr "Экспортировать OPML"
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 #, fuzzy
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr "Опубликованные статьи экспортируется в качестве общего RSS канала и могут быть подписаны кем-либо ещё, кто знает URL, указанный ниже."
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr "Публичная ссылка на OPML"
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 #, fuzzy
 msgid "Display published OPML URL"
 msgstr "Публичная ссылка на OPML"
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 #, fuzzy
 msgid "Firefox integration"
 msgstr "Интеграция в Firefox"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr "Этот сайт с Tiny Tiny RSS можно использовать в Firefox как агрегатор RSS. Для этого щёлкните по ссылке ниже."
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "Щёлкните здесь для регистрации сайта в роли RSS агрегатора"
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 #, fuzzy
 msgid "Published & shared articles / Generated feeds"
 msgstr "Заново оценить статьи в выбранных каналах?"
 
-#: classes/pref/feeds.php:1489
-#, fuzzy
-msgid "Published articles and generated feeds"
-msgstr "Заново оценить статьи в выбранных каналах?"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr "Опубликованные статьи экспортируется в качестве общего RSS канала и могут быть подписаны кем-либо ещё, кто знает URL, указанный ниже."
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 #, fuzzy
 msgid "Display URL"
 msgstr "показать теги"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr ""
 
-#: classes/pref/feeds.php:1502
-#, fuzzy
-msgid "Articles shared by URL"
-msgstr "Расшарить статью по ссылке"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr ""
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 #, fuzzy
 msgid "Unshare all articles"
 msgstr "Отмеченные"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "Эти каналы не были обновлены в течение трех месяцев:"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "Щёлкните для редактирования"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "Отписаться от выбранных каналов?"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "Эти каналы не были обновлены из-за ошибок:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr ""
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr ""
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 #, fuzzy
 msgid "Feeds require authentication."
 msgstr "Этот канал требует авторизации."
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr ""
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 #, fuzzy
 msgid "Refresh"
 msgstr "Обновить"
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "Очистить цвета"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr ""
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 #, fuzzy
 msgid "Filename"
 msgstr "Полное имя"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr ""
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "Дата"
 
-#: plugins/digest/digest_body.php:57
-#, fuzzy
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr ""
-"Ваш браузер не поддерживает Javascript, который требуется\n"
-"\t\tдля функционала этой программы. Пожалуйста, проверьте\n"
-"\t\tнастройки вашего браузера."
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "Привет,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr ""
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr "Закрыть статью"
@@ -2640,67 +2596,6 @@ msgstr "Пароль был изменен."
 msgid "Old password is incorrect."
 msgstr "Старый пароль неправилен."
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr ""
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr ""
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr ""
-
-#: plugins/mobile/prefs.php:30
-#, fuzzy
-msgid "Enable categories"
-msgstr "Включить категории каналов"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr ""
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr ""
-
-#: plugins/mobile/prefs.php:35
-#, fuzzy
-msgid "Browse categories like folders"
-msgstr "Сбросить порядок категорий"
-
-#: plugins/mobile/prefs.php:41
-#, fuzzy
-msgid "Show images in posts"
-msgstr "Не показывать изображения в статьях"
-
-#: plugins/mobile/prefs.php:46
-#, fuzzy
-msgid "Hide read articles and feeds"
-msgstr "&nbsp;&nbsp;Показать/скрыть прочитанные"
-
-#: plugins/mobile/prefs.php:51
-#, fuzzy
-msgid "Sort feeds by unread count"
-msgstr "Сортировать каналы по количеству непрочитанных статей"
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2744,12 +2639,12 @@ msgstr ""
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "Вернуться к Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 #, fuzzy
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "Вернуться к Tiny Tiny RSS"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr ""
 
@@ -2758,11 +2653,7 @@ msgid "Import and export"
 msgstr ""
 
 #: plugins/import_export/init.php:60
-msgid "Article archive"
-msgstr "Архив статей"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
 msgstr ""
 
 #: plugins/import_export/init.php:65
@@ -2774,19 +2665,19 @@ msgstr "Экспортировать данные"
 msgid "Import"
 msgstr "Импортировать"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr "Не могу импортировать данные: некорректная версия схемы."
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr "Не могу импортировать данные: неизвестынй формат данных."
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr ""
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, fuzzy, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
@@ -2794,7 +2685,7 @@ msgstr[0] "Редактировать заметку"
 msgstr[1] "Редактировать заметку"
 msgstr[2] "Редактировать заметку"
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, fuzzy, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
@@ -2802,7 +2693,7 @@ msgstr[0] "уже импортирован."
 msgstr[1] "уже импортирован."
 msgstr[2] "уже импортирован."
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, fuzzy, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
@@ -2810,16 +2701,16 @@ msgstr[0] "Канал не выбран."
 msgstr[1] "Канал не выбран."
 msgstr[2] "Канал не выбран."
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr "Не могу загрузить XML документ."
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 #, fuzzy
 msgid "Prepare data"
 msgstr "Сохранить"
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 #, fuzzy
 msgid "No file uploaded."
@@ -2846,20 +2737,6 @@ msgstr "Отправить письмо"
 msgid "Edit article note"
 msgstr "Редактировать заметку"
 
-#: plugins/example/init.php:36
-#, fuzzy
-msgid "Example Pane"
-msgstr "Примеры"
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr ""
-
-#: plugins/example/init.php:73
-#, fuzzy
-msgid "Set value"
-msgstr "Отметить"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -2993,23 +2870,22 @@ msgstr "Последнее обновление:"
 msgid "Start update"
 msgstr "Последнее обновление:"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "Отметить все статьи в %s как прочитанные?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 #, fuzzy
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "Отметить все статьи в %s как прочитанные?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 #, fuzzy
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "Отметить все статьи в %s как прочитанные?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 #, fuzzy
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "Отметить все статьи в %s как прочитанные?"
@@ -3133,7 +3009,7 @@ msgid "Subscription reset."
 msgstr "Подписаться на канал..."
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "Отписаться от %s?"
 
@@ -3156,8 +3032,8 @@ msgid "Trying to change address..."
 msgstr "Попытка изменить адрес.."
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "Вы не можете редактировать этот канал."
 
@@ -3519,97 +3395,93 @@ msgstr ""
 msgid "Shared URLs cleared."
 msgstr ""
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "Редактор Меток"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 #, fuzzy
 msgid "Subscribing to feeds..."
 msgstr "Подписаться на канал..."
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr ""
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "Пометить все статьи как прочитанные?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr "Помечаю все каналы как прочитанные..."
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 #, fuzzy
 msgid "Please enable mail plugin first."
 msgstr "Пожалуйста выберите какой-нибудь канал."
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 #, fuzzy
 msgid "Please enable embed_original plugin first."
 msgstr "Пожалуйста выберите какой-нибудь канал."
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr ""
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "Нельзя отписаться от категории."
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "Пожалуйста выберите какой-нибудь канал."
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "Вы не можете снова оценить этот канал."
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "Установить оценку статьям в %s?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
 msgstr "Переоценка статей..."
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 #, fuzzy
 msgid "New version available!"
 msgstr "Доступная новая версия Tiny Tiny RSS!"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 #, fuzzy
 msgid "Cancel search"
 msgstr "Отмена"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "Не отмеченные"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "Отмеченные"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "Не публиковать"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "Опубликовать"
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 #, fuzzy
 msgid "%d article selected"
 msgid_plural "%d articles selected"
@@ -3617,21 +3489,21 @@ msgstr[0] "Статья не выбрана"
 msgstr[1] "Статья не выбрана"
 msgstr[2] "Статья не выбрана"
 
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "Нет выбранных статей."
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 #, fuzzy
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
@@ -3639,7 +3511,7 @@ msgstr[0] "Отметить %d выбранные статьи в %s как пр
 msgstr[1] "Отметить %d выбранные статьи в %s как прочитанные?"
 msgstr[2] "Отметить %d выбранные статьи в %s как прочитанные?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 #, fuzzy
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
@@ -3647,7 +3519,7 @@ msgstr[0] "Удалить %d выбранных статей?"
 msgstr[1] "Удалить %d выбранных статей?"
 msgstr[2] "Удалить %d выбранных статей?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 #, fuzzy
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
@@ -3655,7 +3527,7 @@ msgstr[0] "Архивировать %d выбранных статей в %s?"
 msgstr[1] "Архивировать %d выбранных статей в %s?"
 msgstr[2] "Архивировать %d выбранных статей в %s?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 #, fuzzy
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
@@ -3663,11 +3535,11 @@ msgstr[0] "Переместить %d архивированных статей 
 msgstr[1] "Переместить %d архивированных статей назад?"
 msgstr[2] "Переместить %d архивированных статей назад?"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
 msgstr ""
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 #, fuzzy
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
@@ -3675,23 +3547,23 @@ msgstr[0] "Отметить %d выбранные статьи в %s как пр
 msgstr[1] "Отметить %d выбранные статьи в %s как прочитанные?"
 msgstr[2] "Отметить %d выбранные статьи в %s как прочитанные?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr "Редактировать теги"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
 msgstr "Сохранить теги статьи..."
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "Статья не выбрана"
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "Статей для отметки не найдено."
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 #, fuzzy
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
@@ -3699,79 +3571,43 @@ msgstr[0] "Отметить %d статью(ей) как прочитанные?
 msgstr[1] "Отметить %d статью(ей) как прочитанные?"
 msgstr[2] "Отметить %d статью(ей) как прочитанные?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "Показать оригинальное содержимое статьи"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 #, fuzzy
 msgid "Display article URL"
 msgstr "показать теги"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 #, fuzzy
 msgid "Toggle marked"
 msgstr "Изм. отмеченное"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "Применить метку"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "Удалить метку"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 #, fuzzy
 msgid "Please enter new score for selected articles:"
 msgstr "Пожалуйста, укажите заметку для статьи:"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 #, fuzzy
 msgid "Please enter new score for this article:"
 msgstr "Пожалуйста, укажите заметку для статьи:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 #, fuzzy
 msgid "Article URL:"
 msgstr "Все статьи"
 
-#: plugins/digest/digest.js:72
-#, fuzzy
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "Отметить %d статью(ей) как прочитанные?"
-msgstr[1] "Отметить %d статью(ей) как прочитанные?"
-msgstr[2] "Отметить %d статью(ей) как прочитанные?"
-
-#: plugins/digest/digest.js:290
-#, fuzzy
-msgid "Error: unable to load article."
-msgstr "Ошибка: пожалуйста загрузите OPML файл."
-
-#: plugins/digest/digest.js:464
-#, fuzzy
-msgid "Click to expand article."
-msgstr "Щёлкните чтобы развернуть статью"
-
-#: plugins/digest/digest.js:535
-#, fuzzy
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "Идет загрузка помощи..."
-msgstr[1] "Идет загрузка помощи..."
-msgstr[2] "Идет загрузка помощи..."
-
-#: plugins/digest/digest.js:542
-#, fuzzy
-msgid "No unread feeds."
-msgstr "&nbsp;&nbsp;Показать/скрыть прочитанные"
-
-#: plugins/digest/digest.js:649
-#, fuzzy
-msgid "Load more..."
-msgstr "Идет загрузка помощи..."
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr ""
@@ -3854,6 +3690,92 @@ msgstr "Расшарить статью по ссылке"
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
 msgstr ""
 
+#, fuzzy
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "Редактировать категории"
+
+#, fuzzy
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "Заново оценить статьи в выбранных каналах?"
+
+#, fuzzy
+#~ msgid "Articles shared by URL"
+#~ msgstr "Расшарить статью по ссылке"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "Эти каналы не были обновлены из-за ошибок:"
+
+#, fuzzy
+#~ msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
+#~ msgstr ""
+#~ "Ваш браузер не поддерживает Javascript, который требуется\n"
+#~ "\t\tдля функционала этой программы. Пожалуйста, проверьте\n"
+#~ "\t\tнастройки вашего браузера."
+
+#~ msgid "Hello,"
+#~ msgstr "Привет,"
+
+#, fuzzy
+#~ msgid "Enable categories"
+#~ msgstr "Включить категории каналов"
+
+#, fuzzy
+#~ msgid "Browse categories like folders"
+#~ msgstr "Сбросить порядок категорий"
+
+#, fuzzy
+#~ msgid "Show images in posts"
+#~ msgstr "Не показывать изображения в статьях"
+
+#, fuzzy
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "&nbsp;&nbsp;Показать/скрыть прочитанные"
+
+#, fuzzy
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "Сортировать каналы по количеству непрочитанных статей"
+
+#~ msgid "Article archive"
+#~ msgstr "Архив статей"
+
+#, fuzzy
+#~ msgid "Example Pane"
+#~ msgstr "Примеры"
+
+#, fuzzy
+#~ msgid "Set value"
+#~ msgstr "Отметить"
+
+#, fuzzy
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "Отметить %d статью(ей) как прочитанные?"
+#~ msgstr[1] "Отметить %d статью(ей) как прочитанные?"
+#~ msgstr[2] "Отметить %d статью(ей) как прочитанные?"
+
+#, fuzzy
+#~ msgid "Error: unable to load article."
+#~ msgstr "Ошибка: пожалуйста загрузите OPML файл."
+
+#, fuzzy
+#~ msgid "Click to expand article."
+#~ msgstr "Щёлкните чтобы развернуть статью"
+
+#, fuzzy
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "Идет загрузка помощи..."
+#~ msgstr[1] "Идет загрузка помощи..."
+#~ msgstr[2] "Идет загрузка помощи..."
+
+#, fuzzy
+#~ msgid "No unread feeds."
+#~ msgstr "&nbsp;&nbsp;Показать/скрыть прочитанные"
+
+#, fuzzy
+#~ msgid "Load more..."
+#~ msgstr "Идет загрузка помощи..."
+
 #~ msgid "Switch to digest..."
 #~ msgstr "Перейти в дайджест..."
 
index 8e36519999518085c42bb66f6e7290ef0a8b465b..9622e5c7533e6d9fba3c08efca9e3cb25f333d6f 100644 (file)
Binary files a/locale/zh_CN/LC_MESSAGES/messages.mo and b/locale/zh_CN/LC_MESSAGES/messages.mo differ
index 2572a1bb2e1e544d50d1731f7cc1a42110ab7de4..c63975af470e73c167523e671f04c0128d9d8367 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Tiny Tiny RSS\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: 2012-02-14 08:32+0000\n"
 "Last-Translator: Sai <lazycai.ffsky@gmail.com>\n"
 "Language-Team: Chinese (China) (http://www.transifex.net/projects/p/tt-rss/language/zh_CN/)\n"
@@ -91,8 +91,8 @@ msgid "Weekly"
 msgstr "每周"
 
 #: backend.php:103
-#: classes/pref/users.php:123
-#: classes/pref/system.php:44
+#: classes/pref/users.php:119
+#: classes/pref/system.php:51
 msgid "User"
 msgstr "用户"
 
@@ -159,14 +159,13 @@ msgstr "SQL 脱出测试失败,请检查您的数据库和 PHP 设置。"
 #: index.php:128
 #: index.php:145
 #: index.php:265
-#: prefs.php:98
+#: prefs.php:97
 #: classes/backend.php:5
 #: classes/pref/labels.php:296
-#: classes/pref/filters.php:680
-#: classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61
+#: classes/pref/filters.php:678
+#: classes/pref/feeds.php:1372
 #: js/feedlist.js:128
-#: js/feedlist.js:439
+#: js/feedlist.js:441
 #: js/functions.js:446
 #: js/functions.js:784
 #: js/functions.js:1194
@@ -181,14 +180,14 @@ msgstr "SQL 脱出测试失败,请检查您的数据库和 PHP 设置。"
 #: js/prefs.js:1566
 #: js/prefs.js:1583
 #: js/prefs.js:1599
-#: js/prefs.js:1615
-#: js/prefs.js:1634
-#: js/prefs.js:1807
-#: js/prefs.js:1823
-#: js/tt-rss.js:506
-#: js/tt-rss.js:523
-#: js/viewfeed.js:820
-#: js/viewfeed.js:1249
+#: js/prefs.js:1619
+#: js/prefs.js:1792
+#: js/prefs.js:1808
+#: js/prefs.js:1826
+#: js/tt-rss.js:507
+#: js/tt-rss.js:524
+#: js/viewfeed.js:821
+#: js/viewfeed.js:1250
 #: plugins/import_export/import_export.js:17
 #: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
@@ -211,13 +210,13 @@ msgid "All Articles"
 msgstr "全部文章"
 
 #: index.php:167
-#: include/functions.php:2007
+#: include/functions.php:2008
 #: classes/feeds.php:98
 msgid "Starred"
 msgstr "加星标的"
 
 #: index.php:168
-#: include/functions.php:2008
+#: include/functions.php:2009
 #: classes/feeds.php:99
 msgid "Published"
 msgstr "已发布"
@@ -263,12 +262,11 @@ msgstr "标题"
 
 #: index.php:185
 #: index.php:233
-#: include/functions.php:1997
+#: include/functions.php:1998
 #: classes/feeds.php:103
-#: classes/feeds.php:441
+#: classes/feeds.php:424
 #: js/FeedTree.js:128
 #: js/FeedTree.js:156
-#: plugins/digest/digest.js:647
 msgid "Mark as read"
 msgstr "标记为已读"
 
@@ -310,7 +308,7 @@ msgid "Feed actions:"
 msgstr "信息源操作:"
 
 #: index.php:228
-#: classes/handler/public.php:559
+#: classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr "订阅信息源"
 
@@ -323,8 +321,8 @@ msgid "Rescore feed"
 msgstr "为信息源重新评分"
 
 #: index.php:231
-#: classes/pref/feeds.php:759
-#: classes/pref/feeds.php:1340
+#: classes/pref/feeds.php:746
+#: classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr "取消订阅"
@@ -342,7 +340,7 @@ msgid "Other actions:"
 msgstr "其他操作:"
 
 #: index.php:236
-#: include/functions.php:1983
+#: include/functions.php:1984
 #, fuzzy
 msgid "Toggle widescreen mode"
 msgstr "锁定加星标的项"
@@ -364,52 +362,48 @@ msgid "Keyboard shortcuts help"
 msgstr "快捷键帮助"
 
 #: index.php:249
-#: plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
 msgid "Logout"
 msgstr "注销"
 
 #: prefs.php:33
-#: prefs.php:116
-#: include/functions.php:2010
+#: prefs.php:115
+#: include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr "偏好设置"
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr "快捷键"
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr "退出偏好设置"
 
-#: prefs.php:119
-#: classes/pref/feeds.php:107
-#: classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118
+#: classes/pref/feeds.php:106
+#: classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr "信息源"
 
-#: prefs.php:122
-#: classes/pref/filters.php:156
+#: prefs.php:121
+#: classes/pref/filters.php:154
 msgid "Filters"
 msgstr "过滤器"
 
-#: prefs.php:125
+#: prefs.php:124
 #: include/functions.php:1176
-#: include/functions.php:1831
+#: include/functions.php:1832
 #: classes/pref/labels.php:90
-#: plugins/mobile/mobile-functions.php:201
 msgid "Labels"
 msgstr "预定义标签"
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr "用户"
 
-#: prefs.php:132
+#: prefs.php:131
 msgid "System"
 msgstr ""
 
@@ -430,13 +424,13 @@ msgstr "新用户注册功能被管理员禁用。"
 #: register.php:334
 #: register.php:344
 #: register.php:356
-#: classes/handler/public.php:629
-#: classes/handler/public.php:717
-#: classes/handler/public.php:799
-#: classes/handler/public.php:874
-#: classes/handler/public.php:888
-#: classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632
+#: classes/handler/public.php:723
+#: classes/handler/public.php:805
+#: classes/handler/public.php:880
+#: classes/handler/public.php:894
+#: classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr "返回 Tiny Tiny RSS"
 
@@ -453,12 +447,12 @@ msgid "Check availability"
 msgstr "检查可用性"
 
 #: register.php:226
-#: classes/handler/public.php:757
+#: classes/handler/public.php:763
 msgid "Email:"
 msgstr "电子邮箱:"
 
 #: register.php:229
-#: classes/handler/public.php:762
+#: classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr "二加二等于几:"
 
@@ -493,11 +487,11 @@ msgstr "Tiny Tiny RSS 数据库是最新版。"
 
 #: include/digest.php:109
 #: include/functions.php:1185
-#: include/functions.php:1732
-#: include/functions.php:1817
-#: include/functions.php:1839
+#: include/functions.php:1733
+#: include/functions.php:1818
+#: include/functions.php:1840
 #: classes/opml.php:416
-#: classes/pref/feeds.php:220
+#: classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr "未分类"
 
@@ -512,330 +506,329 @@ msgid "No feeds found."
 msgstr "未找到信息源。"
 
 #: include/functions.php:1174
-#: include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1830
 msgid "Special"
 msgstr "特殊区域"
 
 #: include/functions.php:1681
-#: classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr "全部信息源"
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr "加星标文章"
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr "已发布文章"
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr "最新更新的文章"
 
-#: include/functions.php:1890
-#: include/functions.php:2005
+#: include/functions.php:1891
+#: include/functions.php:2006
 msgid "All articles"
 msgstr "全部文章"
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr "存档的文章"
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr ""
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr "导航"
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 #, fuzzy
 msgid "Open next feed"
 msgstr "自动显示下一个信息源"
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr ""
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 #, fuzzy
 msgid "Open next article"
 msgstr "打开原文"
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 #, fuzzy
 msgid "Open previous article"
 msgstr "打开原文"
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr "显示搜索对话框"
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 #, fuzzy
 msgid "Article"
 msgstr "全部文章"
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr "锁定加星标的项"
 
-#: include/functions.php:1969
-#: js/viewfeed.js:1931
+#: include/functions.php:1970
+#: js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr "锁定发布的项"
 
-#: include/functions.php:1970
-#: js/viewfeed.js:1909
+#: include/functions.php:1971
+#: js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr "锁定未读项"
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr "编辑自定义标签"
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 #, fuzzy
 msgid "Dismiss selected"
 msgstr "不再显示所选的文章"
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 #, fuzzy
 msgid "Dismiss read"
 msgstr "不再显示已读文章"
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 #, fuzzy
 msgid "Open in new window"
 msgstr "在新窗口打开文章"
 
-#: include/functions.php:1975
-#: js/viewfeed.js:1950
+#: include/functions.php:1976
+#: js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr ""
 
-#: include/functions.php:1976
-#: js/viewfeed.js:1944
+#: include/functions.php:1977
+#: js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr ""
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 #, fuzzy
 msgid "Scroll down"
 msgstr "全部完成。"
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr ""
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 #, fuzzy
 msgid "Select article under cursor"
 msgstr "选择鼠标指向的文章"
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr "通过邮件发送文章"
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 #, fuzzy
 msgid "Close/collapse article"
 msgstr "选择所有文章"
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 #, fuzzy
 msgid "Toggle article expansion (combined mode)"
 msgstr "锁定发布的项"
 
-#: include/functions.php:1984
+#: include/functions.php:1985
 #: plugins/embed_original/init.php:31
 #, fuzzy
 msgid "Toggle embed original"
 msgstr "锁定发布的项"
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 #, fuzzy
 msgid "Article selection"
 msgstr "反选文章"
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr "选择所有文章"
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 #, fuzzy
 msgid "Select unread"
 msgstr "选择未读文章"
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 #, fuzzy
 msgid "Select starred"
 msgstr "加星标"
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 #, fuzzy
 msgid "Select published"
 msgstr "选择未读文章"
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 #, fuzzy
 msgid "Invert selection"
 msgstr "反选文章"
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 #, fuzzy
 msgid "Deselect everything"
 msgstr "取消选择所有文章"
 
-#: include/functions.php:1992
-#: classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993
+#: classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr "信息源"
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 #, fuzzy
 msgid "Refresh current feed"
 msgstr "刷新活动的信息源"
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 #, fuzzy
 msgid "Un/hide read feeds"
 msgstr "隐藏(显示)已读信息"
 
-#: include/functions.php:1995
-#: classes/pref/feeds.php:1332
+#: include/functions.php:1996
+#: classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr "订阅信息源"
 
-#: include/functions.php:1996
+#: include/functions.php:1997
 #: js/FeedTree.js:135
 #: js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr "编辑信息源"
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 #, fuzzy
 msgid "Reverse headlines"
 msgstr "反向排序"
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 #, fuzzy
 msgid "Debug feed update"
 msgstr "禁用更新"
 
-#: include/functions.php:2000
+#: include/functions.php:2001
 #: js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr "标记所有信息源为已读"
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 #, fuzzy
 msgid "Un/collapse current category"
 msgstr "加入到类别:"
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 #, fuzzy
 msgid "Toggle combined mode"
 msgstr "锁定发布的项"
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 #, fuzzy
 msgid "Toggle auto expand in combined mode"
 msgstr "锁定发布的项"
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 #, fuzzy
 msgid "Go to"
 msgstr "跳转至……"
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr ""
 
-#: include/functions.php:2009
-#: js/tt-rss.js:456
-#: js/tt-rss.js:615
+#: include/functions.php:2010
+#: js/tt-rss.js:457
+#: js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr "标签云"
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 #, fuzzy
 msgid "Other"
 msgstr "其他信息源"
 
-#: include/functions.php:2012
+#: include/functions.php:2013
 #: classes/pref/labels.php:281
 msgid "Create label"
 msgstr "创建预定义标签"
 
-#: include/functions.php:2013
-#: classes/pref/filters.php:654
+#: include/functions.php:2014
+#: classes/pref/filters.php:652
 msgid "Create filter"
 msgstr "创建过滤器"
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 #, fuzzy
 msgid "Un/collapse sidebar"
 msgstr "折叠侧边栏"
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 #, fuzzy
 msgid "Show help dialog"
 msgstr "显示搜索对话框"
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr ""
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr " - "
 
-#: include/functions.php:3155
-#: include/functions.php:3431
+#: include/functions.php:3154
+#: include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr "无标签"
 
-#: include/functions.php:3165
-#: classes/feeds.php:689
+#: include/functions.php:3164
+#: classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr "为本文编辑自定义标签"
 
-#: include/functions.php:3197
-#: classes/feeds.php:641
+#: include/functions.php:3196
+#: classes/feeds.php:628
 msgid "Originally from:"
 msgstr "来源:"
 
-#: include/functions.php:3210
-#: classes/feeds.php:654
-#: classes/pref/feeds.php:572
+#: include/functions.php:3209
+#: classes/feeds.php:641
+#: classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr "信息源 URL"
 
-#: include/functions.php:3242
+#: include/functions.php:3241
 #: classes/dlg.php:37
 #: classes/dlg.php:60
 #: classes/dlg.php:93
@@ -845,47 +838,45 @@ msgstr "信息源 URL"
 #: classes/dlg.php:250
 #: classes/dlg.php:262
 #: classes/backend.php:105
-#: classes/pref/users.php:99
-#: classes/pref/filters.php:147
-#: classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641
-#: classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405
-#: plugins/import_export/init.php:450
+#: classes/pref/users.php:95
+#: classes/pref/filters.php:145
+#: classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626
+#: classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407
+#: plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193
 #: plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr "关闭本窗口"
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr "(编辑注记)"
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr "未知类型"
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 #, fuzzy
 msgid "Attachments"
 msgstr "附件:"
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr ""
 
 #: include/login_form.php:183
 #: classes/handler/public.php:475
-#: classes/handler/public.php:752
-#: plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr "登陆:"
 
 #: include/login_form.php:194
 #: classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr "密码:"
 
@@ -901,7 +892,7 @@ msgstr "偏好:"
 #: include/login_form.php:209
 #: classes/handler/public.php:233
 #: classes/rpc.php:63
-#: classes/pref/prefs.php:1036
+#: classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr "默认偏好设置"
 
@@ -919,7 +910,6 @@ msgstr ""
 
 #: include/login_form.php:235
 #: classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr "登录"
 
@@ -936,12 +926,12 @@ msgid "Tags for this article (separated by commas):"
 msgstr "本文的标签,请用逗号分开:"
 
 #: classes/article.php:204
-#: classes/pref/users.php:176
+#: classes/pref/users.php:172
 #: classes/pref/labels.php:79
-#: classes/pref/filters.php:405
-#: classes/pref/prefs.php:982
-#: classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923
+#: classes/pref/filters.php:403
+#: classes/pref/prefs.php:980
+#: classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910
 #: plugins/nsfw/init.php:83
 #: plugins/note/init.php:51
 #: plugins/instances/init.php:245
@@ -951,19 +941,19 @@ msgstr "保存"
 #: classes/article.php:206
 #: classes/handler/public.php:452
 #: classes/handler/public.php:486
-#: classes/feeds.php:1037
-#: classes/feeds.php:1089
-#: classes/feeds.php:1149
-#: classes/pref/users.php:178
+#: classes/feeds.php:1024
+#: classes/feeds.php:1076
+#: classes/feeds.php:1136
+#: classes/pref/users.php:174
 #: classes/pref/labels.php:81
-#: classes/pref/filters.php:408
-#: classes/pref/filters.php:803
-#: classes/pref/filters.php:879
-#: classes/pref/filters.php:946
-#: classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776
-#: classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853
+#: classes/pref/filters.php:406
+#: classes/pref/filters.php:801
+#: classes/pref/filters.php:877
+#: classes/pref/filters.php:944
+#: classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763
+#: classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834
 #: plugins/mail/init.php:124
 #: plugins/note/init.php:53
 #: plugins/instances/init.php:248
@@ -972,7 +962,7 @@ msgid "Cancel"
 msgstr "取消"
 
 #: classes/handler/public.php:416
-#: plugins/bookmarklets/init.php:36
+#: plugins/bookmarklets/init.php:40
 #, fuzzy
 msgid "Share with Tiny Tiny RSS"
 msgstr "在 Tiny Tiny RSS 中订阅"
@@ -983,8 +973,8 @@ msgid "Title:"
 msgstr "标题"
 
 #: classes/handler/public.php:426
-#: classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798
 #: plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
@@ -1013,94 +1003,93 @@ msgstr ""
 msgid "Not logged in"
 msgstr "上次登录"
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr "用户名或密码错误"
 
-#: classes/handler/public.php:565
-#: classes/handler/public.php:662
+#: classes/handler/public.php:568
+#: classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr "已经订阅到 <b>%s</b>."
 
-#: classes/handler/public.php:568
-#: classes/handler/public.php:653
+#: classes/handler/public.php:571
+#: classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr "订阅到 <b>%s</b>."
 
-#: classes/handler/public.php:571
-#: classes/handler/public.php:656
+#: classes/handler/public.php:574
+#: classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr "无法订阅 <b>%s</b>。"
 
-#: classes/handler/public.php:574
-#: classes/handler/public.php:659
+#: classes/handler/public.php:577
+#: classes/handler/public.php:663
 #, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr "在 <b>%s</b> 中没有找到信息源。"
 
-#: classes/handler/public.php:577
-#: classes/handler/public.php:665
+#: classes/handler/public.php:580
+#: classes/handler/public.php:669
 #, fuzzy
 msgid "Multiple feed URLs found."
 msgstr "未找到信息源。"
 
-#: classes/handler/public.php:581
-#: classes/handler/public.php:670
+#: classes/handler/public.php:584
+#: classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr "无法订阅 <b>%s</b>。<br>无法下载信息源的 URL。"
 
-#: classes/handler/public.php:599
-#: classes/handler/public.php:688
+#: classes/handler/public.php:602
+#: classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr "订阅选中的信息源"
 
-#: classes/handler/public.php:624
-#: classes/handler/public.php:712
+#: classes/handler/public.php:627
+#: classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr "编辑订阅选项"
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 #, fuzzy
 msgid "Password recovery"
 msgstr "密码"
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid "You will need to provide valid account name and email. New password will be sent on your email address."
 msgstr ""
 
-#: classes/handler/public.php:767
-#: classes/pref/users.php:360
+#: classes/handler/public.php:773
+#: classes/pref/users.php:356
 msgid "Reset password"
 msgstr "重置密码"
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr ""
 
-#: classes/handler/public.php:781
-#: classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787
+#: classes/handler/public.php:813
 #, fuzzy
 msgid "Go back"
 msgstr "移回原位"
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr ""
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr "访问级别不足,无法运行脚本。"
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr "数据库更新管理器"
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr "执行更新"
 
@@ -1189,7 +1178,7 @@ msgstr "以RSS信息源方式阅读"
 
 #: classes/feeds.php:76
 #: classes/feeds.php:128
-#: classes/pref/feeds.php:1496
+#: classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr "以 RSS 形式阅读"
 
@@ -1198,17 +1187,17 @@ msgid "Select:"
 msgstr "选择:"
 
 #: classes/feeds.php:84
-#: classes/pref/users.php:345
+#: classes/pref/users.php:341
 #: classes/pref/labels.php:275
-#: classes/pref/filters.php:282
-#: classes/pref/filters.php:330
-#: classes/pref/filters.php:648
-#: classes/pref/filters.php:736
-#: classes/pref/filters.php:763
-#: classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323
-#: classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659
+#: classes/pref/filters.php:280
+#: classes/pref/filters.php:328
+#: classes/pref/filters.php:646
+#: classes/pref/filters.php:734
+#: classes/pref/filters.php:761
+#: classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310
+#: classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641
 #: plugins/instances/init.php:287
 msgid "All"
 msgstr "全部"
@@ -1218,17 +1207,17 @@ msgid "Invert"
 msgstr "反选"
 
 #: classes/feeds.php:87
-#: classes/pref/users.php:347
+#: classes/pref/users.php:343
 #: classes/pref/labels.php:277
-#: classes/pref/filters.php:284
-#: classes/pref/filters.php:332
-#: classes/pref/filters.php:650
-#: classes/pref/filters.php:738
-#: classes/pref/filters.php:765
-#: classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325
-#: classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661
+#: classes/pref/filters.php:282
+#: classes/pref/filters.php:330
+#: classes/pref/filters.php:648
+#: classes/pref/filters.php:736
+#: classes/pref/filters.php:763
+#: classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312
+#: classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643
 #: plugins/instances/init.php:289
 msgid "None"
 msgstr "无"
@@ -1260,10 +1249,10 @@ msgid "Move back"
 msgstr "移回原位"
 
 #: classes/feeds.php:110
-#: classes/pref/filters.php:291
-#: classes/pref/filters.php:339
-#: classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/pref/filters.php:289
+#: classes/pref/filters.php:337
+#: classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr "删除"
 
@@ -1279,7 +1268,7 @@ msgid "Feed:"
 msgstr "信息源:"
 
 #: classes/feeds.php:197
-#: classes/feeds.php:837
+#: classes/feeds.php:824
 msgid "Feed not found."
 msgstr "找不到信息源。"
 
@@ -1293,145 +1282,145 @@ msgstr "从不清理"
 msgid "Imported at %s"
 msgstr "导入"
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr "标记为已读"
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 #, fuzzy
 msgid "Collapse article"
 msgstr "全部文章"
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr "没有未读文章。"
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr "没有最新更新的文章。"
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr "没有加星标的文章。"
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 #, fuzzy
 msgid "No articles found to display. You can assign articles to labels manually from article header context menu (applies to all selected articles) or use a filter."
 msgstr "本标签下没有文章。你可以通过手动或过滤器的方式为文章添加预定义标签(参考上方动作菜单)。"
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr "暂时没有文章。"
 
-#: classes/feeds.php:765
-#: classes/feeds.php:932
+#: classes/feeds.php:752
+#: classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr "上次信息源更新时间:%s"
 
-#: classes/feeds.php:775
-#: classes/feeds.php:942
+#: classes/feeds.php:762
+#: classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr "部分信息源更新错误(点击了解详情)"
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr "没有选中的信息源。"
 
-#: classes/feeds.php:975
-#: classes/feeds.php:983
+#: classes/feeds.php:962
+#: classes/feeds.php:970
 #, fuzzy
 msgid "Feed or site URL"
 msgstr "信息源 URL"
 
-#: classes/feeds.php:989
-#: classes/pref/feeds.php:592
-#: classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976
+#: classes/pref/feeds.php:579
+#: classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr "加入到类别:"
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr "可用的信息源"
 
-#: classes/feeds.php:1009
-#: classes/pref/users.php:139
-#: classes/pref/feeds.php:622
-#: classes/pref/feeds.php:860
+#: classes/feeds.php:996
+#: classes/pref/users.php:135
+#: classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr "登录密码"
 
-#: classes/feeds.php:1013
-#: classes/pref/users.php:402
-#: classes/pref/feeds.php:628
-#: classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000
+#: classes/pref/users.php:398
+#: classes/pref/feeds.php:615
+#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr "登陆"
 
-#: classes/feeds.php:1016
+#: classes/feeds.php:1003
 #: classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641
-#: classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/pref/feeds.php:628
+#: classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr "密码"
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr "这个信息源需要认证"
 
-#: classes/feeds.php:1031
-#: classes/feeds.php:1087
-#: classes/pref/feeds.php:1852
+#: classes/feeds.php:1018
+#: classes/feeds.php:1074
+#: classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr "订阅"
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr "更多信息源"
 
-#: classes/feeds.php:1057
-#: classes/feeds.php:1148
-#: classes/pref/users.php:332
-#: classes/pref/filters.php:641
-#: classes/pref/feeds.php:1316
-#: js/tt-rss.js:173
+#: classes/feeds.php:1044
+#: classes/feeds.php:1135
+#: classes/pref/users.php:328
+#: classes/pref/filters.php:639
+#: classes/pref/feeds.php:1303
+#: js/tt-rss.js:174
 msgid "Search"
 msgstr "搜索"
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr "最受欢迎的信息源"
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr "信息源存档"
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
 msgstr "限制:"
 
-#: classes/feeds.php:1088
-#: classes/pref/users.php:358
+#: classes/feeds.php:1075
+#: classes/pref/users.php:354
 #: classes/pref/labels.php:284
-#: classes/pref/filters.php:398
-#: classes/pref/filters.php:667
-#: classes/pref/feeds.php:746
+#: classes/pref/filters.php:396
+#: classes/pref/filters.php:665
+#: classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr "移除"
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr "查找"
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr "限制搜索条件:"
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr "本信息源"
 
@@ -1504,21 +1493,21 @@ msgid "Processing category: %s"
 msgstr "加入到类别:"
 
 #: classes/opml.php:465
-#: plugins/import_export/init.php:418
+#: plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr ""
 
 #: classes/opml.php:479
-#: plugins/import_export/init.php:432
+#: plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 #, fuzzy
 msgid "Unable to move uploaded file."
 msgstr "错误:无法加载文章。"
 
 #: classes/opml.php:483
-#: plugins/import_export/init.php:436
+#: plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr "错误:请上传 OPML 文件。"
@@ -1544,7 +1533,7 @@ msgid "User not found"
 msgstr "未找到用户"
 
 #: classes/pref/users.php:53
-#: classes/pref/users.php:404
+#: classes/pref/users.php:400
 msgid "Registered"
 msgstr "注册时间"
 
@@ -1560,106 +1549,106 @@ msgstr "订阅的信息源数量"
 msgid "Subscribed feeds"
 msgstr "订阅的信息源"
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr "访问级别:"
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr "更改密码为:"
 
-#: classes/pref/users.php:161
-#: classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157
+#: classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr "选项"
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr "电子邮件:"
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr "已添加用户 <b>%s</b> ,密码为<b>%s</b>"
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr "无法创建用户 <b>%s</b> "
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr "用户 <b>%s</b> 已存在。"
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, fuzzy, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr "已添加用户 <b>%s</b> ,密码为<b>%s</b>"
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, fuzzy, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr "已添加用户 <b>%s</b> ,密码为<b>%s</b>"
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr "[tt-rss] 密码更换提醒"
 
-#: classes/pref/users.php:342
+#: classes/pref/users.php:338
 #: classes/pref/labels.php:272
-#: classes/pref/filters.php:279
-#: classes/pref/filters.php:327
-#: classes/pref/filters.php:645
-#: classes/pref/filters.php:733
-#: classes/pref/filters.php:760
-#: classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320
-#: classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656
+#: classes/pref/filters.php:277
+#: classes/pref/filters.php:325
+#: classes/pref/filters.php:643
+#: classes/pref/filters.php:731
+#: classes/pref/filters.php:758
+#: classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307
+#: classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638
 #: plugins/instances/init.php:284
 msgid "Select"
 msgstr "选择"
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr "创建用户"
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr "详细"
 
-#: classes/pref/users.php:356
-#: classes/pref/filters.php:660
+#: classes/pref/users.php:352
+#: classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr "编辑"
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr "访问级别"
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr "最后登陆"
 
-#: classes/pref/users.php:426
+#: classes/pref/users.php:420
 #: plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr "点击进行编辑"
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr "没有定义用户。"
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr "没有匹配的用户。"
 
 #: classes/pref/labels.php:22
-#: classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr "标题"
 
@@ -1684,132 +1673,131 @@ msgstr "创建预定义标签 <b>%s</b>"
 msgid "Clear colors"
 msgstr "清空颜色"
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr "符合本过滤器条件的文章:"
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 #, fuzzy
 msgid "No recent articles matching this filter have been found."
 msgstr "本过滤器下没有匹配到文章。"
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation."
 msgstr ""
 
-#: classes/pref/filters.php:274
-#: classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272
+#: classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr "匹配"
 
-#: classes/pref/filters.php:288
-#: classes/pref/filters.php:336
-#: classes/pref/filters.php:742
-#: classes/pref/filters.php:769
+#: classes/pref/filters.php:286
+#: classes/pref/filters.php:334
+#: classes/pref/filters.php:740
+#: classes/pref/filters.php:767
 msgid "Add"
 msgstr ""
 
-#: classes/pref/filters.php:322
-#: classes/pref/filters.php:755
+#: classes/pref/filters.php:320
+#: classes/pref/filters.php:753
 #, fuzzy
 msgid "Apply actions"
 msgstr "信息源动作"
 
-#: classes/pref/filters.php:372
-#: classes/pref/filters.php:784
+#: classes/pref/filters.php:370
+#: classes/pref/filters.php:782
 msgid "Enabled"
 msgstr "已启用"
 
-#: classes/pref/filters.php:381
-#: classes/pref/filters.php:787
+#: classes/pref/filters.php:379
+#: classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr ""
 
-#: classes/pref/filters.php:390
-#: classes/pref/filters.php:790
+#: classes/pref/filters.php:388
+#: classes/pref/filters.php:788
 #, fuzzy
 msgid "Inverse matching"
 msgstr "反向匹配"
 
-#: classes/pref/filters.php:402
-#: classes/pref/filters.php:797
+#: classes/pref/filters.php:400
+#: classes/pref/filters.php:795
 msgid "Test"
 msgstr "测试"
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 #, fuzzy
 msgid "(inverse)"
 msgstr "反选"
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr ""
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr ""
 
-#: classes/pref/filters.php:663
-#: classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661
+#: classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr "重置排序"
 
-#: classes/pref/filters.php:671
-#: classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669
+#: classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr "为文章重新评分"
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr "创建"
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr ""
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr "on field"
 
-#: classes/pref/filters.php:863
+#: classes/pref/filters.php:861
 #: js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
 msgid "in"
 msgstr "在"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #, fuzzy
 msgid "Save rule"
 msgstr "保存"
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 #: js/functions.js:1013
 msgid "Add rule"
 msgstr ""
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr "执行动作"
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr "指定参数:"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #, fuzzy
 msgid "Save action"
 msgstr "版面动作"
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 #: js/functions.js:1039
 #, fuzzy
 msgid "Add action"
 msgstr "信息源动作"
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 #, fuzzy
 msgid "[No caption]"
 msgstr "标题"
@@ -1960,7 +1948,6 @@ msgid "Purge unread articles"
 msgstr "清除未读文章"
 
 #: classes/pref/prefs.php:47
-#: plugins/mobile/prefs.php:56
 msgid "Reverse headline order (oldest first)"
 msgstr "反转标题列表顺序(最旧的在上面)"
 
@@ -2002,7 +1989,7 @@ msgid "Strip all but most common HTML tags when reading articles."
 msgstr "仅加载几个最常用的 HTML 标签"
 
 #: classes/pref/prefs.php:54
-#: js/prefs.js:1734
+#: js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr "自定义样式"
 
@@ -2198,92 +2185,91 @@ msgid "Reset to defaults"
 msgstr "恢复到默认"
 
 #: classes/pref/prefs.php:706
-#: classes/pref/prefs.php:708
 msgid "Plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr ""
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a target=\"_blank\" class=\"visibleLink\" href=\"http://tt-rss.org/wiki/Plugins\">wiki</a>."
 msgstr ""
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:742
-#: classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740
+#: classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr ""
 
-#: classes/pref/prefs.php:743
-#: classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741
+#: classes/pref/prefs.php:795
 msgid "Description"
 msgstr ""
 
-#: classes/pref/prefs.php:744
-#: classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742
+#: classes/pref/prefs.php:796
 msgid "Version"
 msgstr ""
 
-#: classes/pref/prefs.php:745
-#: classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743
+#: classes/pref/prefs.php:797
 msgid "Author"
 msgstr ""
 
-#: classes/pref/prefs.php:774
-#: classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772
+#: classes/pref/prefs.php:829
 msgid "more info"
 msgstr ""
 
-#: classes/pref/prefs.php:783
-#: classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781
+#: classes/pref/prefs.php:838
 #, fuzzy
 msgid "Clear data"
 msgstr "清空信息源数据"
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 #, fuzzy
 msgid "Enable selected plugins"
 msgstr "启用信息源分类"
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 #, fuzzy
 msgid "Incorrect one time password"
 msgstr "用户名或密码错误"
 
-#: classes/pref/prefs.php:925
-#: classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923
+#: classes/pref/prefs.php:940
 #, fuzzy
 msgid "Incorrect password"
 msgstr "用户名或密码错误"
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr "您可以通过自定义 CSS 来更改颜色,字体和版式。具体可参考 <a target=\"_blank\" class=\"visibleLink\" href=\"%s\">本文件</a>。"
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr "创建偏好文件"
 
-#: classes/pref/prefs.php:1030
-#: classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028
+#: classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr "(当前使用的)"
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr "移除选中的偏好文件"
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr "启用偏好文件"
 
@@ -2291,287 +2277,260 @@ msgstr "启用偏好文件"
 msgid "Check to enable field"
 msgstr "勾选以启用"
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr "信息源标题"
 
-#: classes/pref/feeds.php:600
-#: classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587
+#: classes/pref/feeds.php:822
 msgid "Update"
 msgstr "更新列表"
 
-#: classes/pref/feeds.php:615
-#: classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602
+#: classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr "文章清理:"
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid "<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds."
 msgstr "<b>提示:</b>如果您的信息源需要验证,那么您需要填写登录信息。Twitter 信息源除外。"
 
-#: classes/pref/feeds.php:661
-#: classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648
+#: classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr "从最受欢迎的信息源中隐藏"
 
-#: classes/pref/feeds.php:673
-#: classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660
+#: classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr "包含电子邮件摘要"
 
-#: classes/pref/feeds.php:686
-#: classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673
+#: classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr "始终显示图片附件"
 
-#: classes/pref/feeds.php:699
-#: classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686
+#: classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr ""
 
-#: classes/pref/feeds.php:712
-#: classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699
+#: classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr "本地缓存图片"
 
-#: classes/pref/feeds.php:724
-#: classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711
+#: classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr "将已更新的文章标记为未读"
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr "图标"
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr "替换"
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr "重新订阅以推送更新"
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr "为启用推送的信息源重置 PubSubHubbub 订阅。"
 
-#: classes/pref/feeds.php:1169
-#: classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156
+#: classes/pref/feeds.php:1209
 msgid "All done."
 msgstr "全部完成。"
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr "有错误的信息源"
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 #, fuzzy
 msgid "Inactive feeds"
 msgstr "刷新活动的信息源"
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr "编辑选定的信息源"
 
-#: classes/pref/feeds.php:1338
-#: js/prefs.js:1779
+#: classes/pref/feeds.php:1325
+#: js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr ""
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 #, fuzzy
 msgid "Categories"
 msgstr "信息源类别"
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 #, fuzzy
 msgid "Add category"
 msgstr "编辑类别"
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 #, fuzzy
 msgid "Remove selected"
 msgstr "移除选中的信息源?"
 
-#: classes/pref/feeds.php:1361
-#, fuzzy
-msgid "(Un)hide empty categories"
-msgstr "编辑类别"
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr "更多动作"
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr "手动清除"
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr "清空信息源数据"
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr "OPML"
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings."
 msgstr ""
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr ""
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 #, fuzzy
 msgid "Import my OPML"
 msgstr "正在导入 OPML ……"
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr "文件名:"
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
 msgstr "包含设置"
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 #, fuzzy
 msgid "Export OPML"
 msgstr "正在导入 OPML ……"
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below."
 msgstr "您可以公开发布您的 OPML 。网上的任何人都可以通过如下 URL 订阅该文件。"
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr "公开的 OPML URL"
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 #, fuzzy
 msgid "Display published OPML URL"
 msgstr "公开的 OPML URL"
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr "Firefox 集成"
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below."
 msgstr "点击如下链接,可以将本 Tiny Tiny RSS 站点作为一个 Firefox 阅读器使用。"
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr "点击此处将本站注册为信息源阅读器。"
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 #, fuzzy
 msgid "Published & shared articles / Generated feeds"
 msgstr "已发布的文章和生成的信息源"
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr "已发布的文章和生成的信息源"
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid "Published articles are exported as a public RSS feed and can be subscribed by anyone who knows the URL specified below."
 msgstr "已发布的文章将会输出为公开的 RSS 信息源,网上的任何人可以通过如下 URL 进行订阅。"
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr "显示 URL"
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr "清空所有生成的 URL"
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr "通过 URL 分享的文章"
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr "您可以取消所有通过 URL 分享的文章。"
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 msgid "Unshare all articles"
 msgstr "取消所有分享"
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 msgid "These feeds have not been updated with new content for 3 months (oldest first):"
 msgstr "以下信息源已经有三个月没有内容更新了(最旧的在最上):"
 
-#: classes/pref/feeds.php:1619
-#: classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604
+#: classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr "点击以编辑信息源"
 
-#: classes/pref/feeds.php:1637
-#: classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622
+#: classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr "取消订阅选中的信息源"
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr "信息源因为如下错误未能更新:"
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr ""
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr ""
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr ""
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr ""
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 msgid "Refresh"
 msgstr ""
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+#, fuzzy
+msgid "Clear log"
+msgstr "清空颜色"
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr ""
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 #, fuzzy
 msgid "Filename"
 msgstr "文件名:"
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr ""
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr "日期"
 
-#: plugins/digest/digest_body.php:57
-#, fuzzy
-msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
-msgstr ""
-"本页面需要JavaScript支持。\n"
-"\t\t\t请检查您的浏览器设置。"
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr "您好,"
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr ""
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr ""
@@ -2607,62 +2566,6 @@ msgstr "密码更改成功。"
 msgid "Old password is incorrect."
 msgstr "原密码输入错误。"
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376
-#: plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr "主页"
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr "啥也没找到(点击以重新加载信息源)。"
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr ""
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr "启用类别"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr "ON"
-
-#: plugins/mobile/prefs.php:31
-#: plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42
-#: plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52
-#: plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr "OFF"
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr "以文件夹方式浏览类别"
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr "在帖子里显示图像"
-
-#: plugins/mobile/prefs.php:46
-msgid "Hide read articles and feeds"
-msgstr "隐藏已读的文章和信息源"
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr "以未读文章数量排列信息源"
-
 #: plugins/mailto/init.php:49
 #: plugins/mailto/init.php:55
 #: plugins/mail/init.php:64
@@ -2706,11 +2609,11 @@ msgstr "将以下链接拖拽至您的浏览器工具条,在浏览器中打开
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr "在 Tiny Tiny RSS 中订阅 %s ?"
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr "在 Tiny Tiny RSS 中订阅"
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr ""
 
@@ -2719,12 +2622,7 @@ msgid "Import and export"
 msgstr ""
 
 #: plugins/import_export/init.php:60
-#, fuzzy
-msgid "Article archive"
-msgstr "文章发布时间"
-
-#: plugins/import_export/init.php:62
-msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances."
+msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."
 msgstr ""
 
 #: plugins/import_export/init.php:65
@@ -2735,45 +2633,45 @@ msgstr ""
 msgid "Import"
 msgstr "导入"
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr ""
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr ""
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr ""
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, fuzzy, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] "编辑文章注记"
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, fuzzy, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] "已经导入过。"
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, fuzzy, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] "没有选中的信息源。"
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr ""
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr ""
 
-#: plugins/import_export/init.php:444
+#: plugins/import_export/init.php:446
 #: plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
 msgstr ""
@@ -2799,19 +2697,6 @@ msgstr "发送邮件"
 msgid "Edit article note"
 msgstr "编辑文章注记"
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr ""
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr ""
-
-#: plugins/example/init.php:73
-#, fuzzy
-msgid "Set value"
-msgstr "加星标"
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -2939,23 +2824,22 @@ msgstr "上次更新:"
 msgid "Start update"
 msgstr "上次更新:"
 
-#: js/feedlist.js:395
-#: js/feedlist.js:423
-#: plugins/digest/digest.js:26
+#: js/feedlist.js:397
+#: js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr "将 %s 中的全部文章标记为已读?"
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 #, fuzzy
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr "将 %s 中的全部文章标记为已读?"
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 #, fuzzy
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr "将 %s 中的全部文章标记为已读?"
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 #, fuzzy
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr "将 %s 中的全部文章标记为已读?"
@@ -3074,7 +2958,7 @@ msgid "Subscription reset."
 msgstr "订阅信息源"
 
 #: js/functions.js:1212
-#: js/tt-rss.js:650
+#: js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr "从 %s 取消订阅?"
 
@@ -3096,8 +2980,8 @@ msgid "Trying to change address..."
 msgstr ""
 
 #: js/functions.js:1546
-#: js/tt-rss.js:421
-#: js/tt-rss.js:631
+#: js/tt-rss.js:422
+#: js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr "您无法编辑这种类型的信息源。"
 
@@ -3462,238 +3346,206 @@ msgstr "之前共享文章的 URL 将会回到未认证状态。是否继续?"
 msgid "Shared URLs cleared."
 msgstr ""
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr "编辑预定义标签"
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr ""
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr ""
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr "将所有文章标记为已读?"
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 #, fuzzy
 msgid "Marking all feeds as read..."
 msgstr "标记所有信息源为已读"
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 #, fuzzy
 msgid "Please enable mail plugin first."
 msgstr "请先选几个信息源吧。"
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 #, fuzzy
 msgid "Please enable embed_original plugin first."
 msgstr "请先选几个信息源吧。"
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr "通过自定义标签选择"
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr "您不能取消订阅一个类别。"
 
-#: js/tt-rss.js:644
-#: js/tt-rss.js:798
+#: js/tt-rss.js:671
+#: js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr "请先选几个信息源吧。"
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr "无法重置本类信息源的评分。"
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr "重置 %s 中文章的评分?"
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 #, fuzzy
 msgid "Rescoring articles..."
 msgstr "为文章重新评分"
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr "有可用的新版本啦!"
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 #, fuzzy
 msgid "Cancel search"
 msgstr "取消"
 
-#: js/viewfeed.js:453
-#: plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr "取消星标"
 
-#: js/viewfeed.js:457
-#: plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr "加星标"
 
-#: js/viewfeed.js:497
-#: plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr "取消发布文章"
 
-#: js/viewfeed.js:501
-#: plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr "发布文章"
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 #, fuzzy
 msgid "%d article selected"
 msgid_plural "%d articles selected"
 msgstr[0] "未选中任何文章。"
 
-#: js/viewfeed.js:725
-#: js/viewfeed.js:753
-#: js/viewfeed.js:780
-#: js/viewfeed.js:843
-#: js/viewfeed.js:877
-#: js/viewfeed.js:997
-#: js/viewfeed.js:1040
-#: js/viewfeed.js:1093
-#: js/viewfeed.js:2091
+#: js/viewfeed.js:726
+#: js/viewfeed.js:754
+#: js/viewfeed.js:781
+#: js/viewfeed.js:844
+#: js/viewfeed.js:878
+#: js/viewfeed.js:998
+#: js/viewfeed.js:1041
+#: js/viewfeed.js:1094
+#: js/viewfeed.js:2071
 #: plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr "没有选中任何文章。"
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 #, fuzzy
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] "删除 %s 中选择的 %d 篇文章?"
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 #, fuzzy
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] "删除选中的 %d 篇文章?"
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 #, fuzzy
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] "将 %s 中的 %d 篇选中的文章存档?"
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 #, fuzzy
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] "将存档的 %d 篇文章移回原处?"
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid "Please note that unstarred articles might get purged on next feed update."
 msgstr ""
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 #, fuzzy
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] "将 %s 中选中的 %d 篇文章标记为已读?"
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr "编辑文章的自定义标签"
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 #, fuzzy
 msgid "Saving article tags..."
 msgstr "编辑文章的自定义标签"
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr "未选中任何文章。"
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr "未找到需要标记的文章"
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 #, fuzzy
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] "将 %d 篇文章标记为已读?"
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr "打开原文"
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 #, fuzzy
 msgid "Display article URL"
 msgstr "显示 URL"
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 #, fuzzy
 msgid "Toggle marked"
 msgstr "锁定加星标的项"
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr "添加预定义标签"
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr "移除预定义标签"
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 #, fuzzy
 msgid "Please enter new score for selected articles:"
 msgstr "删除选中的 %d 篇文章?"
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 #, fuzzy
 msgid "Please enter new score for this article:"
 msgstr "请填写类别名称:"
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 #, fuzzy
 msgid "Article URL:"
 msgstr "全部文章"
 
-#: plugins/digest/digest.js:72
-#, fuzzy
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] "将显示的 %d 篇文章标记为已读?"
-
-#: plugins/digest/digest.js:290
-msgid "Error: unable to load article."
-msgstr "错误:无法加载文章。"
-
-#: plugins/digest/digest.js:464
-msgid "Click to expand article."
-msgstr "点击以展开文章。"
-
-#: plugins/digest/digest.js:535
-#, fuzzy
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] "下面的 %d 篇……"
-
-#: plugins/digest/digest.js:542
-msgid "No unread feeds."
-msgstr "没有未读的信息源。"
-
-#: plugins/digest/digest.js:649
-msgid "Load more..."
-msgstr "加载更多……"
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr ""
@@ -3768,6 +3620,85 @@ msgstr "通过 URL 分享文章"
 msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue."
 msgstr ""
 
+#, fuzzy
+#~ msgid "(Un)hide empty categories"
+#~ msgstr "编辑类别"
+
+#~ msgid "Published articles and generated feeds"
+#~ msgstr "已发布的文章和生成的信息源"
+
+#~ msgid "Articles shared by URL"
+#~ msgstr "通过 URL 分享的文章"
+
+#~ msgid "These feeds have not been updated because of errors:"
+#~ msgstr "信息源因为如下错误未能更新:"
+
+#, fuzzy
+#~ msgid "Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings."
+#~ msgstr ""
+#~ "本页面需要JavaScript支持。\n"
+#~ "\t\t\t请检查您的浏览器设置。"
+
+#~ msgid "Hello,"
+#~ msgstr "您好,"
+
+#~ msgid "Home"
+#~ msgstr "主页"
+
+#~ msgid "Nothing found (click to reload feed)."
+#~ msgstr "啥也没找到(点击以重新加载信息源)。"
+
+#~ msgid "Enable categories"
+#~ msgstr "启用类别"
+
+#~ msgid "ON"
+#~ msgstr "ON"
+
+#~ msgid "OFF"
+#~ msgstr "OFF"
+
+#~ msgid "Browse categories like folders"
+#~ msgstr "以文件夹方式浏览类别"
+
+#~ msgid "Show images in posts"
+#~ msgstr "在帖子里显示图像"
+
+#~ msgid "Hide read articles and feeds"
+#~ msgstr "隐藏已读的文章和信息源"
+
+#~ msgid "Sort feeds by unread count"
+#~ msgstr "以未读文章数量排列信息源"
+
+#, fuzzy
+#~ msgid "Article archive"
+#~ msgstr "文章发布时间"
+
+#, fuzzy
+#~ msgid "Set value"
+#~ msgstr "加星标"
+
+#, fuzzy
+#~ msgid "Mark %d displayed article as read?"
+#~ msgid_plural "Mark %d displayed articles as read?"
+#~ msgstr[0] "将显示的 %d 篇文章标记为已读?"
+
+#~ msgid "Error: unable to load article."
+#~ msgstr "错误:无法加载文章。"
+
+#~ msgid "Click to expand article."
+#~ msgstr "点击以展开文章。"
+
+#, fuzzy
+#~ msgid "%d more..."
+#~ msgid_plural "%d more..."
+#~ msgstr[0] "下面的 %d 篇……"
+
+#~ msgid "No unread feeds."
+#~ msgstr "没有未读的信息源。"
+
+#~ msgid "Load more..."
+#~ msgstr "加载更多……"
+
 #~ msgid "Switch to digest..."
 #~ msgstr "切换至摘要模式"
 
index 3376a0280e161d3a3685b8f4979d5faba7df83f1..cf692dd8ad0ccd3da5560c02d65f14c12b15d3b6 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-29 15:58+0400\n"
+"POT-Creation-Date: 2013-05-15 09:45+0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -82,7 +82,7 @@ msgstr ""
 msgid "Weekly"
 msgstr ""
 
-#: backend.php:103 classes/pref/users.php:123 classes/pref/system.php:44
+#: backend.php:103 classes/pref/users.php:119 classes/pref/system.php:51
 msgid "User"
 msgstr ""
 
@@ -152,17 +152,17 @@ msgstr ""
 msgid "SQL escaping test failed, check your database and PHP configuration"
 msgstr ""
 
-#: index.php:128 index.php:145 index.php:265 prefs.php:98
+#: index.php:128 index.php:145 index.php:265 prefs.php:97
 #: classes/backend.php:5 classes/pref/labels.php:296
-#: classes/pref/filters.php:680 classes/pref/feeds.php:1388
-#: plugins/digest/digest_body.php:61 js/feedlist.js:128 js/feedlist.js:439
-#: js/functions.js:446 js/functions.js:784 js/functions.js:1194
-#: js/functions.js:1330 js/functions.js:1642 js/prefs.js:86 js/prefs.js:576
-#: js/prefs.js:666 js/prefs.js:867 js/prefs.js:1454 js/prefs.js:1507
-#: js/prefs.js:1566 js/prefs.js:1583 js/prefs.js:1599 js/prefs.js:1615
-#: js/prefs.js:1634 js/prefs.js:1807 js/prefs.js:1823 js/tt-rss.js:506
-#: js/tt-rss.js:523 js/viewfeed.js:820 js/viewfeed.js:1249
-#: plugins/import_export/import_export.js:17 plugins/updater/updater.js:17
+#: classes/pref/filters.php:678 classes/pref/feeds.php:1372 js/feedlist.js:128
+#: js/feedlist.js:441 js/functions.js:446 js/functions.js:784
+#: js/functions.js:1194 js/functions.js:1330 js/functions.js:1642
+#: js/prefs.js:86 js/prefs.js:576 js/prefs.js:666 js/prefs.js:867
+#: js/prefs.js:1454 js/prefs.js:1507 js/prefs.js:1566 js/prefs.js:1583
+#: js/prefs.js:1599 js/prefs.js:1619 js/prefs.js:1792 js/prefs.js:1808
+#: js/prefs.js:1826 js/tt-rss.js:507 js/tt-rss.js:524 js/viewfeed.js:821
+#: js/viewfeed.js:1250 plugins/import_export/import_export.js:17
+#: plugins/updater/updater.js:17
 msgid "Loading, please wait..."
 msgstr ""
 
@@ -182,11 +182,11 @@ msgstr ""
 msgid "All Articles"
 msgstr ""
 
-#: index.php:167 include/functions.php:2007 classes/feeds.php:98
+#: index.php:167 include/functions.php:2008 classes/feeds.php:98
 msgid "Starred"
 msgstr ""
 
-#: index.php:168 include/functions.php:2008 classes/feeds.php:99
+#: index.php:168 include/functions.php:2009 classes/feeds.php:99
 msgid "Published"
 msgstr ""
 
@@ -226,9 +226,9 @@ msgstr ""
 msgid "Title"
 msgstr ""
 
-#: index.php:185 index.php:233 include/functions.php:1997
-#: classes/feeds.php:103 classes/feeds.php:441 js/FeedTree.js:128
-#: js/FeedTree.js:156 plugins/digest/digest.js:647
+#: index.php:185 index.php:233 include/functions.php:1998
+#: classes/feeds.php:103 classes/feeds.php:424 js/FeedTree.js:128
+#: js/FeedTree.js:156
 msgid "Mark as read"
 msgstr ""
 
@@ -268,7 +268,7 @@ msgstr ""
 msgid "Feed actions:"
 msgstr ""
 
-#: index.php:228 classes/handler/public.php:559
+#: index.php:228 classes/handler/public.php:562
 msgid "Subscribe to feed..."
 msgstr ""
 
@@ -280,7 +280,7 @@ msgstr ""
 msgid "Rescore feed"
 msgstr ""
 
-#: index.php:231 classes/pref/feeds.php:759 classes/pref/feeds.php:1340
+#: index.php:231 classes/pref/feeds.php:746 classes/pref/feeds.php:1327
 #: js/PrefFeedTree.js:73
 msgid "Unsubscribe"
 msgstr ""
@@ -297,7 +297,7 @@ msgstr ""
 msgid "Other actions:"
 msgstr ""
 
-#: index.php:236 include/functions.php:1983
+#: index.php:236 include/functions.php:1984
 msgid "Toggle widescreen mode"
 msgstr ""
 
@@ -317,44 +317,42 @@ msgstr ""
 msgid "Keyboard shortcuts help"
 msgstr ""
 
-#: index.php:249 plugins/digest/digest_body.php:75
-#: plugins/mobile/mobile-functions.php:65
-#: plugins/mobile/mobile-functions.php:240
+#: index.php:249
 msgid "Logout"
 msgstr ""
 
-#: prefs.php:33 prefs.php:116 include/functions.php:2010
+#: prefs.php:33 prefs.php:115 include/functions.php:2011
 #: classes/pref/prefs.php:440
 msgid "Preferences"
 msgstr ""
 
-#: prefs.php:107
+#: prefs.php:106
 msgid "Keyboard shortcuts"
 msgstr ""
 
-#: prefs.php:108
+#: prefs.php:107
 msgid "Exit preferences"
 msgstr ""
 
-#: prefs.php:119 classes/pref/feeds.php:107 classes/pref/feeds.php:1266
-#: classes/pref/feeds.php:1329
+#: prefs.php:118 classes/pref/feeds.php:106 classes/pref/feeds.php:1253
+#: classes/pref/feeds.php:1316
 msgid "Feeds"
 msgstr ""
 
-#: prefs.php:122 classes/pref/filters.php:156
+#: prefs.php:121 classes/pref/filters.php:154
 msgid "Filters"
 msgstr ""
 
-#: prefs.php:125 include/functions.php:1176 include/functions.php:1831
-#: classes/pref/labels.php:90 plugins/mobile/mobile-functions.php:201
+#: prefs.php:124 include/functions.php:1176 include/functions.php:1832
+#: classes/pref/labels.php:90
 msgid "Labels"
 msgstr ""
 
-#: prefs.php:129
+#: prefs.php:128
 msgid "Users"
 msgstr ""
 
-#: prefs.php:132
+#: prefs.php:131
 msgid "System"
 msgstr ""
 
@@ -368,10 +366,10 @@ msgstr ""
 
 #: register.php:194 register.php:239 register.php:252 register.php:267
 #: register.php:286 register.php:334 register.php:344 register.php:356
-#: classes/handler/public.php:629 classes/handler/public.php:717
-#: classes/handler/public.php:799 classes/handler/public.php:874
-#: classes/handler/public.php:888 classes/handler/public.php:895
-#: classes/handler/public.php:920
+#: classes/handler/public.php:632 classes/handler/public.php:723
+#: classes/handler/public.php:805 classes/handler/public.php:880
+#: classes/handler/public.php:894 classes/handler/public.php:901
+#: classes/handler/public.php:926
 msgid "Return to Tiny Tiny RSS"
 msgstr ""
 
@@ -390,11 +388,11 @@ msgstr ""
 msgid "Check availability"
 msgstr ""
 
-#: register.php:226 classes/handler/public.php:757
+#: register.php:226 classes/handler/public.php:763
 msgid "Email:"
 msgstr ""
 
-#: register.php:229 classes/handler/public.php:762
+#: register.php:229 classes/handler/public.php:768
 msgid "How much is two plus two:"
 msgstr ""
 
@@ -427,8 +425,8 @@ msgid "Tiny Tiny RSS data update script."
 msgstr ""
 
 #: include/digest.php:109 include/functions.php:1185
-#: include/functions.php:1732 include/functions.php:1817
-#: include/functions.php:1839 classes/opml.php:416 classes/pref/feeds.php:220
+#: include/functions.php:1733 include/functions.php:1818
+#: include/functions.php:1840 classes/opml.php:416 classes/pref/feeds.php:218
 msgid "Uncategorized"
 msgstr ""
 
@@ -443,315 +441,313 @@ msgstr[1] ""
 msgid "No feeds found."
 msgstr ""
 
-#: include/functions.php:1174 include/functions.php:1829
-#: plugins/mobile/mobile-functions.php:174
+#: include/functions.php:1174 include/functions.php:1830
 msgid "Special"
 msgstr ""
 
-#: include/functions.php:1681 classes/feeds.php:1110
-#: classes/pref/filters.php:427
+#: include/functions.php:1681 classes/feeds.php:1097
+#: classes/pref/filters.php:425
 msgid "All feeds"
 msgstr ""
 
-#: include/functions.php:1884
+#: include/functions.php:1885
 msgid "Starred articles"
 msgstr ""
 
-#: include/functions.php:1886
+#: include/functions.php:1887
 msgid "Published articles"
 msgstr ""
 
-#: include/functions.php:1888
+#: include/functions.php:1889
 msgid "Fresh articles"
 msgstr ""
 
-#: include/functions.php:1890 include/functions.php:2005
+#: include/functions.php:1891 include/functions.php:2006
 msgid "All articles"
 msgstr ""
 
-#: include/functions.php:1892
+#: include/functions.php:1893
 msgid "Archived articles"
 msgstr ""
 
-#: include/functions.php:1894
+#: include/functions.php:1895
 msgid "Recently read"
 msgstr ""
 
-#: include/functions.php:1957
+#: include/functions.php:1958
 msgid "Navigation"
 msgstr ""
 
-#: include/functions.php:1958
+#: include/functions.php:1959
 msgid "Open next feed"
 msgstr ""
 
-#: include/functions.php:1959
+#: include/functions.php:1960
 msgid "Open previous feed"
 msgstr ""
 
-#: include/functions.php:1960
+#: include/functions.php:1961
 msgid "Open next article"
 msgstr ""
 
-#: include/functions.php:1961
+#: include/functions.php:1962
 msgid "Open previous article"
 msgstr ""
 
-#: include/functions.php:1962
+#: include/functions.php:1963
 msgid "Open next article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1963
+#: include/functions.php:1964
 msgid "Open previous article (don't scroll long articles)"
 msgstr ""
 
-#: include/functions.php:1964
+#: include/functions.php:1965
 msgid "Move to next article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1965
+#: include/functions.php:1966
 msgid "Move to previous article (don't expand or mark read)"
 msgstr ""
 
-#: include/functions.php:1966
+#: include/functions.php:1967
 msgid "Show search dialog"
 msgstr ""
 
-#: include/functions.php:1967
+#: include/functions.php:1968
 msgid "Article"
 msgstr ""
 
-#: include/functions.php:1968
+#: include/functions.php:1969
 msgid "Toggle starred"
 msgstr ""
 
-#: include/functions.php:1969 js/viewfeed.js:1931
+#: include/functions.php:1970 js/viewfeed.js:1911
 msgid "Toggle published"
 msgstr ""
 
-#: include/functions.php:1970 js/viewfeed.js:1909
+#: include/functions.php:1971 js/viewfeed.js:1889
 msgid "Toggle unread"
 msgstr ""
 
-#: include/functions.php:1971
+#: include/functions.php:1972
 msgid "Edit tags"
 msgstr ""
 
-#: include/functions.php:1972
+#: include/functions.php:1973
 msgid "Dismiss selected"
 msgstr ""
 
-#: include/functions.php:1973
+#: include/functions.php:1974
 msgid "Dismiss read"
 msgstr ""
 
-#: include/functions.php:1974
+#: include/functions.php:1975
 msgid "Open in new window"
 msgstr ""
 
-#: include/functions.php:1975 js/viewfeed.js:1950
+#: include/functions.php:1976 js/viewfeed.js:1930
 msgid "Mark below as read"
 msgstr ""
 
-#: include/functions.php:1976 js/viewfeed.js:1944
+#: include/functions.php:1977 js/viewfeed.js:1924
 msgid "Mark above as read"
 msgstr ""
 
-#: include/functions.php:1977
+#: include/functions.php:1978
 msgid "Scroll down"
 msgstr ""
 
-#: include/functions.php:1978
+#: include/functions.php:1979
 msgid "Scroll up"
 msgstr ""
 
-#: include/functions.php:1979
+#: include/functions.php:1980
 msgid "Select article under cursor"
 msgstr ""
 
-#: include/functions.php:1980
+#: include/functions.php:1981
 msgid "Email article"
 msgstr ""
 
-#: include/functions.php:1981
+#: include/functions.php:1982
 msgid "Close/collapse article"
 msgstr ""
 
-#: include/functions.php:1982
+#: include/functions.php:1983
 msgid "Toggle article expansion (combined mode)"
 msgstr ""
 
-#: include/functions.php:1984 plugins/embed_original/init.php:31
+#: include/functions.php:1985 plugins/embed_original/init.php:31
 msgid "Toggle embed original"
 msgstr ""
 
-#: include/functions.php:1985
+#: include/functions.php:1986
 msgid "Article selection"
 msgstr ""
 
-#: include/functions.php:1986
+#: include/functions.php:1987
 msgid "Select all articles"
 msgstr ""
 
-#: include/functions.php:1987
+#: include/functions.php:1988
 msgid "Select unread"
 msgstr ""
 
-#: include/functions.php:1988
+#: include/functions.php:1989
 msgid "Select starred"
 msgstr ""
 
-#: include/functions.php:1989
+#: include/functions.php:1990
 msgid "Select published"
 msgstr ""
 
-#: include/functions.php:1990
+#: include/functions.php:1991
 msgid "Invert selection"
 msgstr ""
 
-#: include/functions.php:1991
+#: include/functions.php:1992
 msgid "Deselect everything"
 msgstr ""
 
-#: include/functions.php:1992 classes/pref/feeds.php:553
-#: classes/pref/feeds.php:796
+#: include/functions.php:1993 classes/pref/feeds.php:540
+#: classes/pref/feeds.php:783
 msgid "Feed"
 msgstr ""
 
-#: include/functions.php:1993
+#: include/functions.php:1994
 msgid "Refresh current feed"
 msgstr ""
 
-#: include/functions.php:1994
+#: include/functions.php:1995
 msgid "Un/hide read feeds"
 msgstr ""
 
-#: include/functions.php:1995 classes/pref/feeds.php:1332
+#: include/functions.php:1996 classes/pref/feeds.php:1319
 msgid "Subscribe to feed"
 msgstr ""
 
-#: include/functions.php:1996 js/FeedTree.js:135 js/PrefFeedTree.js:67
+#: include/functions.php:1997 js/FeedTree.js:135 js/PrefFeedTree.js:67
 msgid "Edit feed"
 msgstr ""
 
-#: include/functions.php:1998
+#: include/functions.php:1999
 msgid "Reverse headlines"
 msgstr ""
 
-#: include/functions.php:1999
+#: include/functions.php:2000
 msgid "Debug feed update"
 msgstr ""
 
-#: include/functions.php:2000 js/FeedTree.js:178
+#: include/functions.php:2001 js/FeedTree.js:178
 msgid "Mark all feeds as read"
 msgstr ""
 
-#: include/functions.php:2001
+#: include/functions.php:2002
 msgid "Un/collapse current category"
 msgstr ""
 
-#: include/functions.php:2002
+#: include/functions.php:2003
 msgid "Toggle combined mode"
 msgstr ""
 
-#: include/functions.php:2003
+#: include/functions.php:2004
 msgid "Toggle auto expand in combined mode"
 msgstr ""
 
-#: include/functions.php:2004
+#: include/functions.php:2005
 msgid "Go to"
 msgstr ""
 
-#: include/functions.php:2006
+#: include/functions.php:2007
 msgid "Fresh"
 msgstr ""
 
-#: include/functions.php:2009 js/tt-rss.js:456 js/tt-rss.js:615
+#: include/functions.php:2010 js/tt-rss.js:457 js/tt-rss.js:642
 msgid "Tag cloud"
 msgstr ""
 
-#: include/functions.php:2011
+#: include/functions.php:2012
 msgid "Other"
 msgstr ""
 
-#: include/functions.php:2012 classes/pref/labels.php:281
+#: include/functions.php:2013 classes/pref/labels.php:281
 msgid "Create label"
 msgstr ""
 
-#: include/functions.php:2013 classes/pref/filters.php:654
+#: include/functions.php:2014 classes/pref/filters.php:652
 msgid "Create filter"
 msgstr ""
 
-#: include/functions.php:2014
+#: include/functions.php:2015
 msgid "Un/collapse sidebar"
 msgstr ""
 
-#: include/functions.php:2015
+#: include/functions.php:2016
 msgid "Show help dialog"
 msgstr ""
 
-#: include/functions.php:2536
+#: include/functions.php:2537
 #, php-format
 msgid "Search results: %s"
 msgstr ""
 
-#: include/functions.php:3133
+#: include/functions.php:3132
 msgid " - "
 msgstr ""
 
-#: include/functions.php:3155 include/functions.php:3431
+#: include/functions.php:3154 include/functions.php:3395
 #: classes/article.php:281
 msgid "no tags"
 msgstr ""
 
-#: include/functions.php:3165 classes/feeds.php:689
+#: include/functions.php:3164 classes/feeds.php:676
 msgid "Edit tags for this article"
 msgstr ""
 
-#: include/functions.php:3197 classes/feeds.php:641
+#: include/functions.php:3196 classes/feeds.php:628
 msgid "Originally from:"
 msgstr ""
 
-#: include/functions.php:3210 classes/feeds.php:654 classes/pref/feeds.php:572
+#: include/functions.php:3209 classes/feeds.php:641 classes/pref/feeds.php:559
 msgid "Feed URL"
 msgstr ""
 
-#: include/functions.php:3242 classes/dlg.php:37 classes/dlg.php:60
+#: include/functions.php:3241 classes/dlg.php:37 classes/dlg.php:60
 #: classes/dlg.php:93 classes/dlg.php:159 classes/dlg.php:190
 #: classes/dlg.php:217 classes/dlg.php:250 classes/dlg.php:262
-#: classes/backend.php:105 classes/pref/users.php:99
-#: classes/pref/filters.php:147 classes/pref/prefs.php:1100
-#: classes/pref/feeds.php:1641 classes/pref/feeds.php:1713
-#: plugins/import_export/init.php:405 plugins/import_export/init.php:450
+#: classes/backend.php:105 classes/pref/users.php:95
+#: classes/pref/filters.php:145 classes/pref/prefs.php:1096
+#: classes/pref/feeds.php:1626 classes/pref/feeds.php:1694
+#: plugins/import_export/init.php:407 plugins/import_export/init.php:452
 #: plugins/googlereaderimport/init.php:193 plugins/share/init.php:65
 #: plugins/updater/init.php:368
 msgid "Close this window"
 msgstr ""
 
-#: include/functions.php:3458
+#: include/functions.php:3432
 msgid "(edit note)"
 msgstr ""
 
-#: include/functions.php:3693
+#: include/functions.php:3667
 msgid "unknown type"
 msgstr ""
 
-#: include/functions.php:3749
+#: include/functions.php:3723
 msgid "Attachments"
 msgstr ""
 
-#: include/functions.php:4248
+#: include/functions.php:4222
 #, php-format
 msgid "LibXML error %s at line %d (column %d): %s"
 msgstr ""
 
 #: include/login_form.php:183 classes/handler/public.php:475
-#: classes/handler/public.php:752 plugins/mobile/login_form.php:40
+#: classes/handler/public.php:758
 msgid "Login:"
 msgstr ""
 
 #: include/login_form.php:194 classes/handler/public.php:478
-#: plugins/mobile/login_form.php:45
 msgid "Password:"
 msgstr ""
 
@@ -764,7 +760,7 @@ msgid "Profile:"
 msgstr ""
 
 #: include/login_form.php:209 classes/handler/public.php:233
-#: classes/rpc.php:63 classes/pref/prefs.php:1036
+#: classes/rpc.php:63 classes/pref/prefs.php:1034
 msgid "Default profile"
 msgstr ""
 
@@ -781,7 +777,6 @@ msgid "Remember me"
 msgstr ""
 
 #: include/login_form.php:235 classes/handler/public.php:483
-#: plugins/mobile/login_form.php:28
 msgid "Log in"
 msgstr ""
 
@@ -797,28 +792,28 @@ msgstr ""
 msgid "Tags for this article (separated by commas):"
 msgstr ""
 
-#: classes/article.php:204 classes/pref/users.php:176
-#: classes/pref/labels.php:79 classes/pref/filters.php:405
-#: classes/pref/prefs.php:982 classes/pref/feeds.php:775
-#: classes/pref/feeds.php:923 plugins/nsfw/init.php:83
+#: classes/article.php:204 classes/pref/users.php:172
+#: classes/pref/labels.php:79 classes/pref/filters.php:403
+#: classes/pref/prefs.php:980 classes/pref/feeds.php:762
+#: classes/pref/feeds.php:910 plugins/nsfw/init.php:83
 #: plugins/note/init.php:51 plugins/instances/init.php:245
 msgid "Save"
 msgstr ""
 
 #: classes/article.php:206 classes/handler/public.php:452
-#: classes/handler/public.php:486 classes/feeds.php:1037
-#: classes/feeds.php:1089 classes/feeds.php:1149 classes/pref/users.php:178
-#: classes/pref/labels.php:81 classes/pref/filters.php:408
-#: classes/pref/filters.php:803 classes/pref/filters.php:879
-#: classes/pref/filters.php:946 classes/pref/prefs.php:984
-#: classes/pref/feeds.php:776 classes/pref/feeds.php:926
-#: classes/pref/feeds.php:1853 plugins/mail/init.php:124
+#: classes/handler/public.php:486 classes/feeds.php:1024
+#: classes/feeds.php:1076 classes/feeds.php:1136 classes/pref/users.php:174
+#: classes/pref/labels.php:81 classes/pref/filters.php:406
+#: classes/pref/filters.php:801 classes/pref/filters.php:877
+#: classes/pref/filters.php:944 classes/pref/prefs.php:982
+#: classes/pref/feeds.php:763 classes/pref/feeds.php:913
+#: classes/pref/feeds.php:1834 plugins/mail/init.php:124
 #: plugins/note/init.php:53 plugins/instances/init.php:248
 #: plugins/instances/init.php:436
 msgid "Cancel"
 msgstr ""
 
-#: classes/handler/public.php:416 plugins/bookmarklets/init.php:36
+#: classes/handler/public.php:416 plugins/bookmarklets/init.php:40
 msgid "Share with Tiny Tiny RSS"
 msgstr ""
 
@@ -826,8 +821,8 @@ msgstr ""
 msgid "Title:"
 msgstr ""
 
-#: classes/handler/public.php:426 classes/pref/feeds.php:570
-#: classes/pref/feeds.php:811 plugins/instances/init.php:212
+#: classes/handler/public.php:426 classes/pref/feeds.php:557
+#: classes/pref/feeds.php:798 plugins/instances/init.php:212
 #: plugins/instances/init.php:401
 msgid "URL:"
 msgstr ""
@@ -852,83 +847,82 @@ msgstr ""
 msgid "Not logged in"
 msgstr ""
 
-#: classes/handler/public.php:529
+#: classes/handler/public.php:532
 msgid "Incorrect username or password"
 msgstr ""
 
-#: classes/handler/public.php:565 classes/handler/public.php:662
+#: classes/handler/public.php:568 classes/handler/public.php:666
 #, php-format
 msgid "Already subscribed to <b>%s</b>."
 msgstr ""
 
-#: classes/handler/public.php:568 classes/handler/public.php:653
+#: classes/handler/public.php:571 classes/handler/public.php:657
 #, php-format
 msgid "Subscribed to <b>%s</b>."
 msgstr ""
 
-#: classes/handler/public.php:571 classes/handler/public.php:656
+#: classes/handler/public.php:574 classes/handler/public.php:660
 #, php-format
 msgid "Could not subscribe to <b>%s</b>."
 msgstr ""
 
-#: classes/handler/public.php:574 classes/handler/public.php:659
+#: classes/handler/public.php:577 classes/handler/public.php:663
 #, php-format
 msgid "No feeds found in <b>%s</b>."
 msgstr ""
 
-#: classes/handler/public.php:577 classes/handler/public.php:665
+#: classes/handler/public.php:580 classes/handler/public.php:669
 msgid "Multiple feed URLs found."
 msgstr ""
 
-#: classes/handler/public.php:581 classes/handler/public.php:670
+#: classes/handler/public.php:584 classes/handler/public.php:676
 #, php-format
 msgid "Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL."
 msgstr ""
 
-#: classes/handler/public.php:599 classes/handler/public.php:688
+#: classes/handler/public.php:602 classes/handler/public.php:694
 msgid "Subscribe to selected feed"
 msgstr ""
 
-#: classes/handler/public.php:624 classes/handler/public.php:712
+#: classes/handler/public.php:627 classes/handler/public.php:718
 msgid "Edit subscription options"
 msgstr ""
 
-#: classes/handler/public.php:739
+#: classes/handler/public.php:745
 msgid "Password recovery"
 msgstr ""
 
-#: classes/handler/public.php:745
+#: classes/handler/public.php:751
 msgid ""
 "You will need to provide valid account name and email. New password will be "
 "sent on your email address."
 msgstr ""
 
-#: classes/handler/public.php:767 classes/pref/users.php:360
+#: classes/handler/public.php:773 classes/pref/users.php:356
 msgid "Reset password"
 msgstr ""
 
-#: classes/handler/public.php:777
+#: classes/handler/public.php:783
 msgid "Some of the required form parameters are missing or incorrect."
 msgstr ""
 
-#: classes/handler/public.php:781 classes/handler/public.php:807
-#: plugins/digest/digest_body.php:67
+#: classes/handler/public.php:787 classes/handler/public.php:813
 msgid "Go back"
 msgstr ""
 
-#: classes/handler/public.php:803
+#: classes/handler/public.php:809
 msgid "Sorry, login and email combination not found."
 msgstr ""
 
-#: classes/handler/public.php:823
+#: classes/handler/public.php:829
 msgid "Your access level is insufficient to run this script."
 msgstr ""
 
-#: classes/handler/public.php:847
+#: classes/handler/public.php:853
 msgid "Database Updater"
 msgstr ""
 
-#: classes/handler/public.php:912
+#: classes/handler/public.php:918
 msgid "Perform updates"
 msgstr ""
 
@@ -1020,7 +1014,7 @@ msgstr ""
 msgid "View as RSS feed"
 msgstr ""
 
-#: classes/feeds.php:76 classes/feeds.php:128 classes/pref/feeds.php:1496
+#: classes/feeds.php:76 classes/feeds.php:128 classes/pref/feeds.php:1478
 msgid "View as RSS"
 msgstr ""
 
@@ -1028,12 +1022,12 @@ msgstr ""
 msgid "Select:"
 msgstr ""
 
-#: classes/feeds.php:84 classes/pref/users.php:345 classes/pref/labels.php:275
-#: classes/pref/filters.php:282 classes/pref/filters.php:330
-#: classes/pref/filters.php:648 classes/pref/filters.php:736
-#: classes/pref/filters.php:763 classes/pref/prefs.php:996
-#: classes/pref/feeds.php:1323 classes/pref/feeds.php:1589
-#: classes/pref/feeds.php:1659 plugins/instances/init.php:287
+#: classes/feeds.php:84 classes/pref/users.php:341 classes/pref/labels.php:275
+#: classes/pref/filters.php:280 classes/pref/filters.php:328
+#: classes/pref/filters.php:646 classes/pref/filters.php:734
+#: classes/pref/filters.php:761 classes/pref/prefs.php:994
+#: classes/pref/feeds.php:1310 classes/pref/feeds.php:1575
+#: classes/pref/feeds.php:1641 plugins/instances/init.php:287
 msgid "All"
 msgstr ""
 
@@ -1041,12 +1035,12 @@ msgstr ""
 msgid "Invert"
 msgstr ""
 
-#: classes/feeds.php:87 classes/pref/users.php:347 classes/pref/labels.php:277
-#: classes/pref/filters.php:284 classes/pref/filters.php:332
-#: classes/pref/filters.php:650 classes/pref/filters.php:738
-#: classes/pref/filters.php:765 classes/pref/prefs.php:998
-#: classes/pref/feeds.php:1325 classes/pref/feeds.php:1591
-#: classes/pref/feeds.php:1661 plugins/instances/init.php:289
+#: classes/feeds.php:87 classes/pref/users.php:343 classes/pref/labels.php:277
+#: classes/pref/filters.php:282 classes/pref/filters.php:330
+#: classes/pref/filters.php:648 classes/pref/filters.php:736
+#: classes/pref/filters.php:763 classes/pref/prefs.php:996
+#: classes/pref/feeds.php:1312 classes/pref/feeds.php:1577
+#: classes/pref/feeds.php:1643 plugins/instances/init.php:289
 msgid "None"
 msgstr ""
 
@@ -1074,9 +1068,9 @@ msgstr ""
 msgid "Move back"
 msgstr ""
 
-#: classes/feeds.php:110 classes/pref/filters.php:291
-#: classes/pref/filters.php:339 classes/pref/filters.php:745
-#: classes/pref/filters.php:772
+#: classes/feeds.php:110 classes/pref/filters.php:289
+#: classes/pref/filters.php:337 classes/pref/filters.php:743
+#: classes/pref/filters.php:770
 msgid "Delete"
 msgstr ""
 
@@ -1089,7 +1083,7 @@ msgstr ""
 msgid "Feed:"
 msgstr ""
 
-#: classes/feeds.php:197 classes/feeds.php:837
+#: classes/feeds.php:197 classes/feeds.php:824
 msgid "Feed not found."
 msgstr ""
 
@@ -1102,125 +1096,125 @@ msgstr ""
 msgid "Imported at %s"
 msgstr ""
 
-#: classes/feeds.php:535
+#: classes/feeds.php:520
 msgid "mark as read"
 msgstr ""
 
-#: classes/feeds.php:585
+#: classes/feeds.php:570
 msgid "Collapse article"
 msgstr ""
 
-#: classes/feeds.php:738
+#: classes/feeds.php:725
 msgid "No unread articles found to display."
 msgstr ""
 
-#: classes/feeds.php:741
+#: classes/feeds.php:728
 msgid "No updated articles found to display."
 msgstr ""
 
-#: classes/feeds.php:744
+#: classes/feeds.php:731
 msgid "No starred articles found to display."
 msgstr ""
 
-#: classes/feeds.php:748
+#: classes/feeds.php:735
 msgid ""
 "No articles found to display. You can assign articles to labels manually "
 "from article header context menu (applies to all selected articles) or use a "
 "filter."
 msgstr ""
 
-#: classes/feeds.php:750
+#: classes/feeds.php:737
 msgid "No articles found to display."
 msgstr ""
 
-#: classes/feeds.php:765 classes/feeds.php:932
+#: classes/feeds.php:752 classes/feeds.php:919
 #, php-format
 msgid "Feeds last updated at %s"
 msgstr ""
 
-#: classes/feeds.php:775 classes/feeds.php:942
+#: classes/feeds.php:762 classes/feeds.php:929
 msgid "Some feeds have update errors (click for details)"
 msgstr ""
 
-#: classes/feeds.php:922
+#: classes/feeds.php:909
 msgid "No feed selected."
 msgstr ""
 
-#: classes/feeds.php:975 classes/feeds.php:983
+#: classes/feeds.php:962 classes/feeds.php:970
 msgid "Feed or site URL"
 msgstr ""
 
-#: classes/feeds.php:989 classes/pref/feeds.php:592 classes/pref/feeds.php:824
-#: classes/pref/feeds.php:1817
+#: classes/feeds.php:976 classes/pref/feeds.php:579 classes/pref/feeds.php:811
+#: classes/pref/feeds.php:1798
 msgid "Place in category:"
 msgstr ""
 
-#: classes/feeds.php:997
+#: classes/feeds.php:984
 msgid "Available feeds"
 msgstr ""
 
-#: classes/feeds.php:1009 classes/pref/users.php:139
-#: classes/pref/feeds.php:622 classes/pref/feeds.php:860
+#: classes/feeds.php:996 classes/pref/users.php:135 classes/pref/feeds.php:609
+#: classes/pref/feeds.php:847
 msgid "Authentication"
 msgstr ""
 
-#: classes/feeds.php:1013 classes/pref/users.php:402
-#: classes/pref/feeds.php:628 classes/pref/feeds.php:864
-#: classes/pref/feeds.php:1831
+#: classes/feeds.php:1000 classes/pref/users.php:398
+#: classes/pref/feeds.php:615 classes/pref/feeds.php:851
+#: classes/pref/feeds.php:1812
 msgid "Login"
 msgstr ""
 
-#: classes/feeds.php:1016 classes/pref/prefs.php:260
-#: classes/pref/feeds.php:641 classes/pref/feeds.php:870
-#: classes/pref/feeds.php:1834
+#: classes/feeds.php:1003 classes/pref/prefs.php:260
+#: classes/pref/feeds.php:628 classes/pref/feeds.php:857
+#: classes/pref/feeds.php:1815
 msgid "Password"
 msgstr ""
 
-#: classes/feeds.php:1026
+#: classes/feeds.php:1013
 msgid "This feed requires authentication."
 msgstr ""
 
-#: classes/feeds.php:1031 classes/feeds.php:1087 classes/pref/feeds.php:1852
+#: classes/feeds.php:1018 classes/feeds.php:1074 classes/pref/feeds.php:1833
 msgid "Subscribe"
 msgstr ""
 
-#: classes/feeds.php:1034
+#: classes/feeds.php:1021
 msgid "More feeds"
 msgstr ""
 
-#: classes/feeds.php:1057 classes/feeds.php:1148 classes/pref/users.php:332
-#: classes/pref/filters.php:641 classes/pref/feeds.php:1316 js/tt-rss.js:173
+#: classes/feeds.php:1044 classes/feeds.php:1135 classes/pref/users.php:328
+#: classes/pref/filters.php:639 classes/pref/feeds.php:1303 js/tt-rss.js:174
 msgid "Search"
 msgstr ""
 
-#: classes/feeds.php:1061
+#: classes/feeds.php:1048
 msgid "Popular feeds"
 msgstr ""
 
-#: classes/feeds.php:1062
+#: classes/feeds.php:1049
 msgid "Feed archive"
 msgstr ""
 
-#: classes/feeds.php:1065
+#: classes/feeds.php:1052
 msgid "limit:"
 msgstr ""
 
-#: classes/feeds.php:1088 classes/pref/users.php:358
-#: classes/pref/labels.php:284 classes/pref/filters.php:398
-#: classes/pref/filters.php:667 classes/pref/feeds.php:746
+#: classes/feeds.php:1075 classes/pref/users.php:354
+#: classes/pref/labels.php:284 classes/pref/filters.php:396
+#: classes/pref/filters.php:665 classes/pref/feeds.php:733
 #: plugins/instances/init.php:294
 msgid "Remove"
 msgstr ""
 
-#: classes/feeds.php:1099
+#: classes/feeds.php:1086
 msgid "Look for"
 msgstr ""
 
-#: classes/feeds.php:1107
+#: classes/feeds.php:1094
 msgid "Limit search to:"
 msgstr ""
 
-#: classes/feeds.php:1123
+#: classes/feeds.php:1110
 msgid "This feed"
 msgstr ""
 
@@ -1290,18 +1284,18 @@ msgstr ""
 msgid "Processing category: %s"
 msgstr ""
 
-#: classes/opml.php:465 plugins/import_export/init.php:418
+#: classes/opml.php:465 plugins/import_export/init.php:420
 #: plugins/googlereaderimport/init.php:66
 #, php-format
 msgid "Upload failed with error code %d"
 msgstr ""
 
-#: classes/opml.php:479 plugins/import_export/init.php:432
+#: classes/opml.php:479 plugins/import_export/init.php:434
 #: plugins/googlereaderimport/init.php:80
 msgid "Unable to move uploaded file."
 msgstr ""
 
-#: classes/opml.php:483 plugins/import_export/init.php:436
+#: classes/opml.php:483 plugins/import_export/init.php:438
 #: plugins/googlereaderimport/init.php:84
 msgid "Error: please upload OPML file."
 msgstr ""
@@ -1323,7 +1317,7 @@ msgstr ""
 msgid "User not found"
 msgstr ""
 
-#: classes/pref/users.php:53 classes/pref/users.php:404
+#: classes/pref/users.php:53 classes/pref/users.php:400
 msgid "Registered"
 msgstr ""
 
@@ -1339,96 +1333,96 @@ msgstr ""
 msgid "Subscribed feeds"
 msgstr ""
 
-#: classes/pref/users.php:142
+#: classes/pref/users.php:138
 msgid "Access level: "
 msgstr ""
 
-#: classes/pref/users.php:155
+#: classes/pref/users.php:151
 msgid "Change password to"
 msgstr ""
 
-#: classes/pref/users.php:161 classes/pref/feeds.php:649
-#: classes/pref/feeds.php:876
+#: classes/pref/users.php:157 classes/pref/feeds.php:636
+#: classes/pref/feeds.php:863
 msgid "Options"
 msgstr ""
 
-#: classes/pref/users.php:164
+#: classes/pref/users.php:160
 msgid "E-mail: "
 msgstr ""
 
-#: classes/pref/users.php:240
+#: classes/pref/users.php:236
 #, php-format
 msgid "Added user <b>%s</b> with password <b>%s</b>"
 msgstr ""
 
-#: classes/pref/users.php:247
+#: classes/pref/users.php:243
 #, php-format
 msgid "Could not create user <b>%s</b>"
 msgstr ""
 
-#: classes/pref/users.php:251
+#: classes/pref/users.php:247
 #, php-format
 msgid "User <b>%s</b> already exists."
 msgstr ""
 
-#: classes/pref/users.php:273
+#: classes/pref/users.php:269
 #, php-format
 msgid "Changed password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 
-#: classes/pref/users.php:275
+#: classes/pref/users.php:271
 #, php-format
 msgid "Sending new password of user <b>%s</b> to <b>%s</b>"
 msgstr ""
 
-#: classes/pref/users.php:299
+#: classes/pref/users.php:295
 msgid "[tt-rss] Password change notification"
 msgstr ""
 
-#: classes/pref/users.php:342 classes/pref/labels.php:272
-#: classes/pref/filters.php:279 classes/pref/filters.php:327
-#: classes/pref/filters.php:645 classes/pref/filters.php:733
-#: classes/pref/filters.php:760 classes/pref/prefs.php:993
-#: classes/pref/feeds.php:1320 classes/pref/feeds.php:1586
-#: classes/pref/feeds.php:1656 plugins/instances/init.php:284
+#: classes/pref/users.php:338 classes/pref/labels.php:272
+#: classes/pref/filters.php:277 classes/pref/filters.php:325
+#: classes/pref/filters.php:643 classes/pref/filters.php:731
+#: classes/pref/filters.php:758 classes/pref/prefs.php:991
+#: classes/pref/feeds.php:1307 classes/pref/feeds.php:1572
+#: classes/pref/feeds.php:1638 plugins/instances/init.php:284
 msgid "Select"
 msgstr ""
 
-#: classes/pref/users.php:350
+#: classes/pref/users.php:346
 msgid "Create user"
 msgstr ""
 
-#: classes/pref/users.php:354
+#: classes/pref/users.php:350
 msgid "Details"
 msgstr ""
 
-#: classes/pref/users.php:356 classes/pref/filters.php:660
+#: classes/pref/users.php:352 classes/pref/filters.php:658
 #: plugins/instances/init.php:293
 msgid "Edit"
 msgstr ""
 
-#: classes/pref/users.php:403
+#: classes/pref/users.php:399
 msgid "Access Level"
 msgstr ""
 
-#: classes/pref/users.php:405
+#: classes/pref/users.php:401
 msgid "Last login"
 msgstr ""
 
-#: classes/pref/users.php:426 plugins/instances/init.php:334
+#: classes/pref/users.php:420 plugins/instances/init.php:334
 msgid "Click to edit"
 msgstr ""
 
-#: classes/pref/users.php:446
+#: classes/pref/users.php:440
 msgid "No users defined."
 msgstr ""
 
-#: classes/pref/users.php:448
+#: classes/pref/users.php:442
 msgid "No matching users found."
 msgstr ""
 
-#: classes/pref/labels.php:22 classes/pref/filters.php:268
-#: classes/pref/filters.php:724
+#: classes/pref/labels.php:22 classes/pref/filters.php:266
+#: classes/pref/filters.php:722
 msgid "Caption"
 msgstr ""
 
@@ -1453,114 +1447,113 @@ msgstr ""
 msgid "Clear colors"
 msgstr ""
 
-#: classes/pref/filters.php:96
+#: classes/pref/filters.php:94
 msgid "Articles matching this filter:"
 msgstr ""
 
-#: classes/pref/filters.php:133
+#: classes/pref/filters.php:131
 msgid "No recent articles matching this filter have been found."
 msgstr ""
 
-#: classes/pref/filters.php:137
+#: classes/pref/filters.php:135
 msgid ""
 "Complex expressions might not give results while testing due to issues with "
 "database server regexp implementation."
 msgstr ""
 
-#: classes/pref/filters.php:274 classes/pref/filters.php:728
-#: classes/pref/filters.php:843
+#: classes/pref/filters.php:272 classes/pref/filters.php:726
+#: classes/pref/filters.php:841
 msgid "Match"
 msgstr ""
 
-#: classes/pref/filters.php:288 classes/pref/filters.php:336
-#: classes/pref/filters.php:742 classes/pref/filters.php:769
+#: classes/pref/filters.php:286 classes/pref/filters.php:334
+#: classes/pref/filters.php:740 classes/pref/filters.php:767
 msgid "Add"
 msgstr ""
 
-#: classes/pref/filters.php:322 classes/pref/filters.php:755
+#: classes/pref/filters.php:320 classes/pref/filters.php:753
 msgid "Apply actions"
 msgstr ""
 
-#: classes/pref/filters.php:372 classes/pref/filters.php:784
+#: classes/pref/filters.php:370 classes/pref/filters.php:782
 msgid "Enabled"
 msgstr ""
 
-#: classes/pref/filters.php:381 classes/pref/filters.php:787
+#: classes/pref/filters.php:379 classes/pref/filters.php:785
 msgid "Match any rule"
 msgstr ""
 
-#: classes/pref/filters.php:390 classes/pref/filters.php:790
+#: classes/pref/filters.php:388 classes/pref/filters.php:788
 msgid "Inverse matching"
 msgstr ""
 
-#: classes/pref/filters.php:402 classes/pref/filters.php:797
+#: classes/pref/filters.php:400 classes/pref/filters.php:795
 msgid "Test"
 msgstr ""
 
-#: classes/pref/filters.php:435
+#: classes/pref/filters.php:433
 msgid "(inverse)"
 msgstr ""
 
-#: classes/pref/filters.php:434
+#: classes/pref/filters.php:432
 #, php-format
 msgid "%s on %s in %s %s"
 msgstr ""
 
-#: classes/pref/filters.php:657
+#: classes/pref/filters.php:655
 msgid "Combine"
 msgstr ""
 
-#: classes/pref/filters.php:663 classes/pref/feeds.php:1336
-#: classes/pref/feeds.php:1350
+#: classes/pref/filters.php:661 classes/pref/feeds.php:1323
+#: classes/pref/feeds.php:1337
 msgid "Reset sort order"
 msgstr ""
 
-#: classes/pref/filters.php:671 classes/pref/feeds.php:1375
+#: classes/pref/filters.php:669 classes/pref/feeds.php:1359
 msgid "Rescore articles"
 msgstr ""
 
-#: classes/pref/filters.php:800
+#: classes/pref/filters.php:798
 msgid "Create"
 msgstr ""
 
-#: classes/pref/filters.php:855
+#: classes/pref/filters.php:853
 msgid "Inverse regular expression matching"
 msgstr ""
 
-#: classes/pref/filters.php:857
+#: classes/pref/filters.php:855
 msgid "on field"
 msgstr ""
 
-#: classes/pref/filters.php:863 js/PrefFilterTree.js:45
-#: plugins/digest/digest.js:242
+#: classes/pref/filters.php:861 js/PrefFilterTree.js:45
 msgid "in"
 msgstr ""
 
-#: classes/pref/filters.php:876
+#: classes/pref/filters.php:874
 msgid "Save rule"
 msgstr ""
 
-#: classes/pref/filters.php:876 js/functions.js:1013
+#: classes/pref/filters.php:874 js/functions.js:1013
 msgid "Add rule"
 msgstr ""
 
-#: classes/pref/filters.php:899
+#: classes/pref/filters.php:897
 msgid "Perform Action"
 msgstr ""
 
-#: classes/pref/filters.php:925
+#: classes/pref/filters.php:923
 msgid "with parameters:"
 msgstr ""
 
-#: classes/pref/filters.php:943
+#: classes/pref/filters.php:941
 msgid "Save action"
 msgstr ""
 
-#: classes/pref/filters.php:943 js/functions.js:1039
+#: classes/pref/filters.php:941 js/functions.js:1039
 msgid "Add action"
 msgstr ""
 
-#: classes/pref/filters.php:966
+#: classes/pref/filters.php:964
 msgid "[No caption]"
 msgstr ""
 
@@ -1711,7 +1704,7 @@ msgstr ""
 msgid "Purge unread articles"
 msgstr ""
 
-#: classes/pref/prefs.php:47 plugins/mobile/prefs.php:56
+#: classes/pref/prefs.php:47
 msgid "Reverse headline order (oldest first)"
 msgstr ""
 
@@ -1751,7 +1744,7 @@ msgstr ""
 msgid "Strip all but most common HTML tags when reading articles."
 msgstr ""
 
-#: classes/pref/prefs.php:54 js/prefs.js:1734
+#: classes/pref/prefs.php:54 js/prefs.js:1719
 msgid "Customize stylesheet"
 msgstr ""
 
@@ -1941,16 +1934,16 @@ msgstr ""
 msgid "Reset to defaults"
 msgstr ""
 
-#: classes/pref/prefs.php:706 classes/pref/prefs.php:708
+#: classes/pref/prefs.php:706
 msgid "Plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:710
+#: classes/pref/prefs.php:708
 msgid ""
 "You will need to reload Tiny Tiny RSS for plugin changes to take effect."
 msgstr ""
 
-#: classes/pref/prefs.php:712
+#: classes/pref/prefs.php:710
 msgid ""
 "Download more plugins at tt-rss.org <a class=\"visibleLink\" target=\"_blank"
 "\" href=\"http://tt-rss.org/forum/viewforum.php?f=22\">forums</a> or <a "
@@ -1958,51 +1951,51 @@ msgid ""
 "\">wiki</a>."
 msgstr ""
 
-#: classes/pref/prefs.php:738
+#: classes/pref/prefs.php:736
 msgid "System plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:742 classes/pref/prefs.php:796
+#: classes/pref/prefs.php:740 classes/pref/prefs.php:794
 msgid "Plugin"
 msgstr ""
 
-#: classes/pref/prefs.php:743 classes/pref/prefs.php:797
+#: classes/pref/prefs.php:741 classes/pref/prefs.php:795
 msgid "Description"
 msgstr ""
 
-#: classes/pref/prefs.php:744 classes/pref/prefs.php:798
+#: classes/pref/prefs.php:742 classes/pref/prefs.php:796
 msgid "Version"
 msgstr ""
 
-#: classes/pref/prefs.php:745 classes/pref/prefs.php:799
+#: classes/pref/prefs.php:743 classes/pref/prefs.php:797
 msgid "Author"
 msgstr ""
 
-#: classes/pref/prefs.php:774 classes/pref/prefs.php:831
+#: classes/pref/prefs.php:772 classes/pref/prefs.php:829
 msgid "more info"
 msgstr ""
 
-#: classes/pref/prefs.php:783 classes/pref/prefs.php:840
+#: classes/pref/prefs.php:781 classes/pref/prefs.php:838
 msgid "Clear data"
 msgstr ""
 
-#: classes/pref/prefs.php:792
+#: classes/pref/prefs.php:790
 msgid "User plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:855
+#: classes/pref/prefs.php:853
 msgid "Enable selected plugins"
 msgstr ""
 
-#: classes/pref/prefs.php:922
+#: classes/pref/prefs.php:920
 msgid "Incorrect one time password"
 msgstr ""
 
-#: classes/pref/prefs.php:925 classes/pref/prefs.php:942
+#: classes/pref/prefs.php:923 classes/pref/prefs.php:940
 msgid "Incorrect password"
 msgstr ""
 
-#: classes/pref/prefs.php:967
+#: classes/pref/prefs.php:965
 #, php-format
 msgid ""
 "You can override colors, fonts and layout of your currently selected theme "
@@ -2010,19 +2003,19 @@ msgid ""
 "\" href=\"%s\">This file</a> can be used as a baseline."
 msgstr ""
 
-#: classes/pref/prefs.php:1007
+#: classes/pref/prefs.php:1005
 msgid "Create profile"
 msgstr ""
 
-#: classes/pref/prefs.php:1030 classes/pref/prefs.php:1060
+#: classes/pref/prefs.php:1028 classes/pref/prefs.php:1056
 msgid "(active)"
 msgstr ""
 
-#: classes/pref/prefs.php:1094
+#: classes/pref/prefs.php:1090
 msgid "Remove selected profiles"
 msgstr ""
 
-#: classes/pref/prefs.php:1096
+#: classes/pref/prefs.php:1092
 msgid "Activate profile"
 msgstr ""
 
@@ -2030,278 +2023,252 @@ msgstr ""
 msgid "Check to enable field"
 msgstr ""
 
-#: classes/pref/feeds.php:559
+#: classes/pref/feeds.php:546
 msgid "Feed Title"
 msgstr ""
 
-#: classes/pref/feeds.php:600 classes/pref/feeds.php:835
+#: classes/pref/feeds.php:587 classes/pref/feeds.php:822
 msgid "Update"
 msgstr ""
 
-#: classes/pref/feeds.php:615 classes/pref/feeds.php:851
+#: classes/pref/feeds.php:602 classes/pref/feeds.php:838
 msgid "Article purging:"
 msgstr ""
 
-#: classes/pref/feeds.php:645
+#: classes/pref/feeds.php:632
 msgid ""
 "<b>Hint:</b> you need to fill in your login information if your feed "
 "requires authentication, except for Twitter feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:661 classes/pref/feeds.php:880
+#: classes/pref/feeds.php:648 classes/pref/feeds.php:867
 msgid "Hide from Popular feeds"
 msgstr ""
 
-#: classes/pref/feeds.php:673 classes/pref/feeds.php:886
+#: classes/pref/feeds.php:660 classes/pref/feeds.php:873
 msgid "Include in e-mail digest"
 msgstr ""
 
-#: classes/pref/feeds.php:686 classes/pref/feeds.php:892
+#: classes/pref/feeds.php:673 classes/pref/feeds.php:879
 msgid "Always display image attachments"
 msgstr ""
 
-#: classes/pref/feeds.php:699 classes/pref/feeds.php:900
+#: classes/pref/feeds.php:686 classes/pref/feeds.php:887
 msgid "Do not embed images"
 msgstr ""
 
-#: classes/pref/feeds.php:712 classes/pref/feeds.php:908
+#: classes/pref/feeds.php:699 classes/pref/feeds.php:895
 msgid "Cache images locally"
 msgstr ""
 
-#: classes/pref/feeds.php:724 classes/pref/feeds.php:914
+#: classes/pref/feeds.php:711 classes/pref/feeds.php:901
 msgid "Mark updated articles as unread"
 msgstr ""
 
-#: classes/pref/feeds.php:730
+#: classes/pref/feeds.php:717
 msgid "Icon"
 msgstr ""
 
-#: classes/pref/feeds.php:744
+#: classes/pref/feeds.php:731
 msgid "Replace"
 msgstr ""
 
-#: classes/pref/feeds.php:766
+#: classes/pref/feeds.php:753
 msgid "Resubscribe to push updates"
 msgstr ""
 
-#: classes/pref/feeds.php:773
+#: classes/pref/feeds.php:760
 msgid "Resets PubSubHubbub subscription status for push-enabled feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1169 classes/pref/feeds.php:1222
+#: classes/pref/feeds.php:1156 classes/pref/feeds.php:1209
 msgid "All done."
 msgstr ""
 
-#: classes/pref/feeds.php:1277
+#: classes/pref/feeds.php:1264
 msgid "Feeds with errors"
 msgstr ""
 
-#: classes/pref/feeds.php:1297
+#: classes/pref/feeds.php:1284
 msgid "Inactive feeds"
 msgstr ""
 
-#: classes/pref/feeds.php:1334
+#: classes/pref/feeds.php:1321
 msgid "Edit selected feeds"
 msgstr ""
 
-#: classes/pref/feeds.php:1338 js/prefs.js:1779
+#: classes/pref/feeds.php:1325 js/prefs.js:1764
 msgid "Batch subscribe"
 msgstr ""
 
-#: classes/pref/feeds.php:1345
+#: classes/pref/feeds.php:1332
 msgid "Categories"
 msgstr ""
 
-#: classes/pref/feeds.php:1348
+#: classes/pref/feeds.php:1335
 msgid "Add category"
 msgstr ""
 
-#: classes/pref/feeds.php:1352
+#: classes/pref/feeds.php:1339
 msgid "Remove selected"
 msgstr ""
 
-#: classes/pref/feeds.php:1361
-msgid "(Un)hide empty categories"
-msgstr ""
-
-#: classes/pref/feeds.php:1366
+#: classes/pref/feeds.php:1350
 msgid "More actions..."
 msgstr ""
 
-#: classes/pref/feeds.php:1370
+#: classes/pref/feeds.php:1354
 msgid "Manual purge"
 msgstr ""
 
-#: classes/pref/feeds.php:1374
+#: classes/pref/feeds.php:1358
 msgid "Clear feed data"
 msgstr ""
 
-#: classes/pref/feeds.php:1425
+#: classes/pref/feeds.php:1409
 msgid "OPML"
 msgstr ""
 
-#: classes/pref/feeds.php:1427
+#: classes/pref/feeds.php:1411
 msgid ""
 "Using OPML you can export and import your feeds, filters, labels and Tiny "
 "Tiny RSS settings."
 msgstr ""
 
-#: classes/pref/feeds.php:1429
+#: classes/pref/feeds.php:1411
 msgid "Only main settings profile can be migrated using OPML."
 msgstr ""
 
-#: classes/pref/feeds.php:1442
+#: classes/pref/feeds.php:1424
 msgid "Import my OPML"
 msgstr ""
 
-#: classes/pref/feeds.php:1446
+#: classes/pref/feeds.php:1428
 msgid "Filename:"
 msgstr ""
 
-#: classes/pref/feeds.php:1448
+#: classes/pref/feeds.php:1430
 msgid "Include settings"
 msgstr ""
 
-#: classes/pref/feeds.php:1452
+#: classes/pref/feeds.php:1434
 msgid "Export OPML"
 msgstr ""
 
-#: classes/pref/feeds.php:1456
+#: classes/pref/feeds.php:1438
 msgid ""
 "Your OPML can be published publicly and can be subscribed by anyone who "
 "knows the URL below."
 msgstr ""
 
-#: classes/pref/feeds.php:1458
+#: classes/pref/feeds.php:1440
 msgid ""
 "Published OPML does not include your Tiny Tiny RSS settings, feeds that "
 "require authentication or feeds hidden from Popular feeds."
 msgstr ""
 
-#: classes/pref/feeds.php:1460
+#: classes/pref/feeds.php:1442
 msgid "Public OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1461
+#: classes/pref/feeds.php:1443
 msgid "Display published OPML URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1470
+#: classes/pref/feeds.php:1452
 msgid "Firefox integration"
 msgstr ""
 
-#: classes/pref/feeds.php:1472
+#: classes/pref/feeds.php:1454
 msgid ""
 "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the "
 "link below."
 msgstr ""
 
-#: classes/pref/feeds.php:1479
+#: classes/pref/feeds.php:1461
 msgid "Click here to register this site as a feed reader."
 msgstr ""
 
-#: classes/pref/feeds.php:1487
+#: classes/pref/feeds.php:1469
 msgid "Published & shared articles / Generated feeds"
 msgstr ""
 
-#: classes/pref/feeds.php:1489
-msgid "Published articles and generated feeds"
-msgstr ""
-
-#: classes/pref/feeds.php:1491
+#: classes/pref/feeds.php:1471
 msgid ""
 "Published articles are exported as a public RSS feed and can be subscribed "
 "by anyone who knows the URL specified below."
 msgstr ""
 
-#: classes/pref/feeds.php:1497
+#: classes/pref/feeds.php:1479
 msgid "Display URL"
 msgstr ""
 
-#: classes/pref/feeds.php:1500
+#: classes/pref/feeds.php:1482
 msgid "Clear all generated URLs"
 msgstr ""
 
-#: classes/pref/feeds.php:1502
-msgid "Articles shared by URL"
-msgstr ""
-
-#: classes/pref/feeds.php:1504
+#: classes/pref/feeds.php:1486
 msgid "You can disable all articles shared by unique URLs here."
 msgstr ""
 
-#: classes/pref/feeds.php:1507
+#: classes/pref/feeds.php:1491
 msgid "Unshare all articles"
 msgstr ""
 
-#: classes/pref/feeds.php:1582
+#: classes/pref/feeds.php:1568
 msgid ""
 "These feeds have not been updated with new content for 3 months (oldest "
 "first):"
 msgstr ""
 
-#: classes/pref/feeds.php:1619 classes/pref/feeds.php:1689
+#: classes/pref/feeds.php:1604 classes/pref/feeds.php:1670
 msgid "Click to edit feed"
 msgstr ""
 
-#: classes/pref/feeds.php:1637 classes/pref/feeds.php:1709
+#: classes/pref/feeds.php:1622 classes/pref/feeds.php:1690
 msgid "Unsubscribe from selected feeds"
 msgstr ""
 
-#: classes/pref/feeds.php:1648
-msgid "These feeds have not been updated because of errors:"
-msgstr ""
-
-#: classes/pref/feeds.php:1814
+#: classes/pref/feeds.php:1795
 msgid "Add one valid RSS feed per line (no feed detection is done)"
 msgstr ""
 
-#: classes/pref/feeds.php:1823
+#: classes/pref/feeds.php:1804
 msgid "Feeds to subscribe, One per line"
 msgstr ""
 
-#: classes/pref/feeds.php:1845
+#: classes/pref/feeds.php:1826
 msgid "Feeds require authentication."
 msgstr ""
 
-#: classes/pref/system.php:25
+#: classes/pref/system.php:29
 msgid "Error Log"
 msgstr ""
 
-#: classes/pref/system.php:36
+#: classes/pref/system.php:40
 msgid "Refresh"
 msgstr ""
 
-#: classes/pref/system.php:41
+#: classes/pref/system.php:43
+msgid "Clear log"
+msgstr ""
+
+#: classes/pref/system.php:48
 msgid "Error"
 msgstr ""
 
-#: classes/pref/system.php:42
+#: classes/pref/system.php:49
 msgid "Filename"
 msgstr ""
 
-#: classes/pref/system.php:43
+#: classes/pref/system.php:50
 msgid "Message"
 msgstr ""
 
-#: classes/pref/system.php:45
+#: classes/pref/system.php:52
 msgid "Date"
 msgstr ""
 
-#: plugins/digest/digest_body.php:57
-msgid ""
-"Your browser doesn't support Javascript, which is required for this "
-"application to function properly. Please check your browser settings."
-msgstr ""
-
-#: plugins/digest/digest_body.php:72
-msgid "Hello,"
-msgstr ""
-
-#: plugins/digest/digest_body.php:78
-msgid "Regular version"
-msgstr ""
-
 #: plugins/close_button/init.php:22
 msgid "Close article"
 msgstr ""
@@ -2334,55 +2301,6 @@ msgstr ""
 msgid "Old password is incorrect."
 msgstr ""
 
-#: plugins/mobile/mobile-functions.php:64
-#: plugins/mobile/mobile-functions.php:140
-#: plugins/mobile/mobile-functions.php:176
-#: plugins/mobile/mobile-functions.php:203
-#: plugins/mobile/mobile-functions.php:239
-#: plugins/mobile/mobile-functions.php:376 plugins/mobile/prefs.php:25
-msgid "Home"
-msgstr ""
-
-#: plugins/mobile/mobile-functions.php:412
-msgid "Nothing found (click to reload feed)."
-msgstr ""
-
-#: plugins/mobile/login_form.php:52
-msgid "Open regular version"
-msgstr ""
-
-#: plugins/mobile/prefs.php:30
-msgid "Enable categories"
-msgstr ""
-
-#: plugins/mobile/prefs.php:31 plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42 plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52 plugins/mobile/prefs.php:57
-msgid "ON"
-msgstr ""
-
-#: plugins/mobile/prefs.php:31 plugins/mobile/prefs.php:36
-#: plugins/mobile/prefs.php:42 plugins/mobile/prefs.php:47
-#: plugins/mobile/prefs.php:52 plugins/mobile/prefs.php:57
-msgid "OFF"
-msgstr ""
-
-#: plugins/mobile/prefs.php:35
-msgid "Browse categories like folders"
-msgstr ""
-
-#: plugins/mobile/prefs.php:41
-msgid "Show images in posts"
-msgstr ""
-
-#: plugins/mobile/prefs.php:46
-msgid "Hide read articles and feeds"
-msgstr ""
-
-#: plugins/mobile/prefs.php:51
-msgid "Sort feeds by unread count"
-msgstr ""
-
 #: plugins/mailto/init.php:49 plugins/mailto/init.php:55
 #: plugins/mail/init.php:64 plugins/mail/init.php:70
 msgid "[Forwarded]"
@@ -2424,11 +2342,11 @@ msgstr ""
 msgid "Subscribe to %s in Tiny Tiny RSS?"
 msgstr ""
 
-#: plugins/bookmarklets/init.php:30
+#: plugins/bookmarklets/init.php:31
 msgid "Subscribe in Tiny Tiny RSS"
 msgstr ""
 
-#: plugins/bookmarklets/init.php:32
+#: plugins/bookmarklets/init.php:34
 msgid "Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"
 msgstr ""
 
@@ -2437,13 +2355,9 @@ msgid "Import and export"
 msgstr ""
 
 #: plugins/import_export/init.php:60
-msgid "Article archive"
-msgstr ""
-
-#: plugins/import_export/init.php:62
 msgid ""
 "You can export and import your Starred and Archived articles for safekeeping "
-"or when migrating between tt-rss instances."
+"or when migrating between tt-rss instances of same version."
 msgstr ""
 
 #: plugins/import_export/init.php:65
@@ -2454,48 +2368,48 @@ msgstr ""
 msgid "Import"
 msgstr ""
 
-#: plugins/import_export/init.php:217
+#: plugins/import_export/init.php:219
 msgid "Could not import: incorrect schema version."
 msgstr ""
 
-#: plugins/import_export/init.php:222
+#: plugins/import_export/init.php:224
 msgid "Could not import: unrecognized document format."
 msgstr ""
 
-#: plugins/import_export/init.php:381
+#: plugins/import_export/init.php:383
 msgid "Finished: "
 msgstr ""
 
-#: plugins/import_export/init.php:382
+#: plugins/import_export/init.php:384
 #, php-format
 msgid "%d article processed, "
 msgid_plural "%d articles processed, "
 msgstr[0] ""
 msgstr[1] ""
 
-#: plugins/import_export/init.php:383
+#: plugins/import_export/init.php:385
 #, php-format
 msgid "%d imported, "
 msgid_plural "%d imported, "
 msgstr[0] ""
 msgstr[1] ""
 
-#: plugins/import_export/init.php:384
+#: plugins/import_export/init.php:386
 #, php-format
 msgid "%d feed created."
 msgid_plural "%d feeds created."
 msgstr[0] ""
 msgstr[1] ""
 
-#: plugins/import_export/init.php:389
+#: plugins/import_export/init.php:391
 msgid "Could not load XML document."
 msgstr ""
 
-#: plugins/import_export/init.php:401
+#: plugins/import_export/init.php:403
 msgid "Prepare data"
 msgstr ""
 
-#: plugins/import_export/init.php:444 plugins/googlereaderimport/init.php:92
+#: plugins/import_export/init.php:446 plugins/googlereaderimport/init.php:92
 msgid "No file uploaded."
 msgstr ""
 
@@ -2519,18 +2433,6 @@ msgstr ""
 msgid "Edit article note"
 msgstr ""
 
-#: plugins/example/init.php:36
-msgid "Example Pane"
-msgstr ""
-
-#: plugins/example/init.php:67
-msgid "Sample value"
-msgstr ""
-
-#: plugins/example/init.php:73
-msgid "Set value"
-msgstr ""
-
 #: plugins/googlereaderimport/init.php:178
 #, php-format
 msgid "All done. %d out of %d articles imported."
@@ -2652,19 +2554,19 @@ msgstr ""
 msgid "Start update"
 msgstr ""
 
-#: js/feedlist.js:395 js/feedlist.js:423 plugins/digest/digest.js:26
+#: js/feedlist.js:397 js/feedlist.js:425
 msgid "Mark all articles in %s as read?"
 msgstr ""
 
-#: js/feedlist.js:414
+#: js/feedlist.js:416
 msgid "Mark all articles in %s older than 1 day as read?"
 msgstr ""
 
-#: js/feedlist.js:417
+#: js/feedlist.js:419
 msgid "Mark all articles in %s older than 1 week as read?"
 msgstr ""
 
-#: js/feedlist.js:420
+#: js/feedlist.js:422
 msgid "Mark all articles in %s older than 2 weeks as read?"
 msgstr ""
 
@@ -2776,7 +2678,7 @@ msgstr ""
 msgid "Subscription reset."
 msgstr ""
 
-#: js/functions.js:1212 js/tt-rss.js:650
+#: js/functions.js:1212 js/tt-rss.js:677
 msgid "Unsubscribe from %s?"
 msgstr ""
 
@@ -2796,7 +2698,7 @@ msgstr ""
 msgid "Trying to change address..."
 msgstr ""
 
-#: js/functions.js:1546 js/tt-rss.js:421 js/tt-rss.js:631
+#: js/functions.js:1546 js/tt-rss.js:422 js/tt-rss.js:658
 msgid "You can't edit this kind of feed."
 msgstr ""
 
@@ -3117,216 +3019,188 @@ msgstr ""
 msgid "Shared URLs cleared."
 msgstr ""
 
-#: js/prefs.js:1663
+#: js/prefs.js:1648
 msgid "Label Editor"
 msgstr ""
 
-#: js/prefs.js:1785
+#: js/prefs.js:1770
 msgid "Subscribing to feeds..."
 msgstr ""
 
-#: js/prefs.js:1822
+#: js/prefs.js:1807
 msgid "Clear stored data for this plugin?"
 msgstr ""
 
-#: js/tt-rss.js:126
+#: js/prefs.js:1824
+msgid "Clear all messages in the error log?"
+msgstr ""
+
+#: js/tt-rss.js:127
 msgid "Mark all articles as read?"
 msgstr ""
 
-#: js/tt-rss.js:132
+#: js/tt-rss.js:133
 msgid "Marking all feeds as read..."
 msgstr ""
 
-#: js/tt-rss.js:380
+#: js/tt-rss.js:381
 msgid "Please enable mail plugin first."
 msgstr ""
 
-#: js/tt-rss.js:492
+#: js/tt-rss.js:493
 msgid "Please enable embed_original plugin first."
 msgstr ""
 
-#: js/tt-rss.js:618
+#: js/tt-rss.js:645
 msgid "Select item(s) by tags"
 msgstr ""
 
-#: js/tt-rss.js:639
+#: js/tt-rss.js:666
 msgid "You can't unsubscribe from the category."
 msgstr ""
 
-#: js/tt-rss.js:644 js/tt-rss.js:798
+#: js/tt-rss.js:671 js/tt-rss.js:825
 msgid "Please select some feed first."
 msgstr ""
 
-#: js/tt-rss.js:793
+#: js/tt-rss.js:820
 msgid "You can't rescore this kind of feed."
 msgstr ""
 
-#: js/tt-rss.js:803
+#: js/tt-rss.js:830
 msgid "Rescore articles in %s?"
 msgstr ""
 
-#: js/tt-rss.js:806
+#: js/tt-rss.js:833
 msgid "Rescoring articles..."
 msgstr ""
 
-#: js/tt-rss.js:940
+#: js/tt-rss.js:967
 msgid "New version available!"
 msgstr ""
 
-#: js/viewfeed.js:102
+#: js/viewfeed.js:105
 msgid "Cancel search"
 msgstr ""
 
-#: js/viewfeed.js:453 plugins/digest/digest.js:258
-#: plugins/digest/digest.js:714
+#: js/viewfeed.js:454
 msgid "Unstar article"
 msgstr ""
 
-#: js/viewfeed.js:457 plugins/digest/digest.js:260
-#: plugins/digest/digest.js:718
+#: js/viewfeed.js:458
 msgid "Star article"
 msgstr ""
 
-#: js/viewfeed.js:497 plugins/digest/digest.js:263
-#: plugins/digest/digest.js:749
+#: js/viewfeed.js:498
 msgid "Unpublish article"
 msgstr ""
 
-#: js/viewfeed.js:501 plugins/digest/digest.js:265
-#: plugins/digest/digest.js:754
+#: js/viewfeed.js:502
 msgid "Publish article"
 msgstr ""
 
-#: js/viewfeed.js:653
+#: js/viewfeed.js:654
 msgid "%d article selected"
 msgid_plural "%d articles selected"
 msgstr[0] ""
 msgstr[1] ""
 
-#: js/viewfeed.js:725 js/viewfeed.js:753 js/viewfeed.js:780 js/viewfeed.js:843
-#: js/viewfeed.js:877 js/viewfeed.js:997 js/viewfeed.js:1040
-#: js/viewfeed.js:1093 js/viewfeed.js:2091 plugins/mailto/init.js:7
+#: js/viewfeed.js:726 js/viewfeed.js:754 js/viewfeed.js:781 js/viewfeed.js:844
+#: js/viewfeed.js:878 js/viewfeed.js:998 js/viewfeed.js:1041
+#: js/viewfeed.js:1094 js/viewfeed.js:2071 plugins/mailto/init.js:7
 #: plugins/mail/mail.js:7
 msgid "No articles are selected."
 msgstr ""
 
-#: js/viewfeed.js:1005
+#: js/viewfeed.js:1006
 msgid "Delete %d selected article in %s?"
 msgid_plural "Delete %d selected articles in %s?"
 msgstr[0] ""
 msgstr[1] ""
 
-#: js/viewfeed.js:1007
+#: js/viewfeed.js:1008
 msgid "Delete %d selected article?"
 msgid_plural "Delete %d selected articles?"
 msgstr[0] ""
 msgstr[1] ""
 
-#: js/viewfeed.js:1049
+#: js/viewfeed.js:1050
 msgid "Archive %d selected article in %s?"
 msgid_plural "Archive %d selected articles in %s?"
 msgstr[0] ""
 msgstr[1] ""
 
-#: js/viewfeed.js:1052
+#: js/viewfeed.js:1053
 msgid "Move %d archived article back?"
 msgid_plural "Move %d archived articles back?"
 msgstr[0] ""
 msgstr[1] ""
 
-#: js/viewfeed.js:1054
+#: js/viewfeed.js:1055
 msgid ""
 "Please note that unstarred articles might get purged on next feed update."
 msgstr ""
 
-#: js/viewfeed.js:1099
+#: js/viewfeed.js:1100
 msgid "Mark %d selected article in %s as read?"
 msgid_plural "Mark %d selected articles in %s as read?"
 msgstr[0] ""
 msgstr[1] ""
 
-#: js/viewfeed.js:1123
+#: js/viewfeed.js:1124
 msgid "Edit article Tags"
 msgstr ""
 
-#: js/viewfeed.js:1129
+#: js/viewfeed.js:1130
 msgid "Saving article tags..."
 msgstr ""
 
-#: js/viewfeed.js:1335
+#: js/viewfeed.js:1336
 msgid "No article is selected."
 msgstr ""
 
-#: js/viewfeed.js:1370
+#: js/viewfeed.js:1371
 msgid "No articles found to mark"
 msgstr ""
 
-#: js/viewfeed.js:1372
+#: js/viewfeed.js:1373
 msgid "Mark %d article as read?"
 msgid_plural "Mark %d articles as read?"
 msgstr[0] ""
 msgstr[1] ""
 
-#: js/viewfeed.js:1895
+#: js/viewfeed.js:1875
 msgid "Open original article"
 msgstr ""
 
-#: js/viewfeed.js:1901
+#: js/viewfeed.js:1881
 msgid "Display article URL"
 msgstr ""
 
-#: js/viewfeed.js:1920
+#: js/viewfeed.js:1900
 msgid "Toggle marked"
 msgstr ""
 
-#: js/viewfeed.js:2001
+#: js/viewfeed.js:1981
 msgid "Assign label"
 msgstr ""
 
-#: js/viewfeed.js:2006
+#: js/viewfeed.js:1986
 msgid "Remove label"
 msgstr ""
 
-#: js/viewfeed.js:2060
+#: js/viewfeed.js:2040
 msgid "Please enter new score for selected articles:"
 msgstr ""
 
-#: js/viewfeed.js:2102
+#: js/viewfeed.js:2082
 msgid "Please enter new score for this article:"
 msgstr ""
 
-#: js/viewfeed.js:2135
+#: js/viewfeed.js:2115
 msgid "Article URL:"
 msgstr ""
 
-#: plugins/digest/digest.js:72
-msgid "Mark %d displayed article as read?"
-msgid_plural "Mark %d displayed articles as read?"
-msgstr[0] ""
-msgstr[1] ""
-
-#: plugins/digest/digest.js:290
-msgid "Error: unable to load article."
-msgstr ""
-
-#: plugins/digest/digest.js:464
-msgid "Click to expand article."
-msgstr ""
-
-#: plugins/digest/digest.js:535
-msgid "%d more..."
-msgid_plural "%d more..."
-msgstr[0] ""
-msgstr[1] ""
-
-#: plugins/digest/digest.js:542
-msgid "No unread feeds."
-msgstr ""
-
-#: plugins/digest/digest.js:649
-msgid "Load more..."
-msgstr ""
-
 #: plugins/embed_original/init.js:6
 msgid "Sorry, your browser does not support sandboxed iframes."
 msgstr ""
index 39a20784cd2a805262c8972b4cabf6a9779b0024..2e466f167f88a78f1d510dc2ef09f77d31fe215b 100644 (file)
@@ -81,7 +81,7 @@ class Af_RedditImgur extends Plugin {
                                                        }
 
                                                        // linked albums, ffs
-                                                       if (preg_match("/^http:\/\/imgur.com\/a\/[^\.]+$/", $entry->getAttribute("href"), $matches)) {
+                                                       if (preg_match("/^http:\/\/imgur.com\/(a|album)\/[^\.]+$/", $entry->getAttribute("href"), $matches)) {
 
                                                                $album_content = fetch_file_contents($entry->getAttribute("href"),
                                                                        false, false, false, false, 10);
index 62b3b4dcfdc5a193e2927eea0457df6b20fcfc10..a97502b12a7ebfd988916722ddc71f7f63496c6f 100644 (file)
@@ -114,7 +114,7 @@ class Af_Unburn extends Plugin {
                                preg_match("/(Location:|URI:)[^(\n)]*/", $header, $matches);
                                $url = trim(str_replace($matches[1],"",$matches[0]));
                                $url_parsed = parse_url($url);
-                               return (isset($url_parsed))? geturl($url, $referer):'';
+                               return (isset($url_parsed))? geturl($url):'';
                        }
                        $oline='';
                        foreach($status as $key=>$eline){$oline.='['.$key.']'.$eline.' ';}
index 79a8e8cb39895e00a07311095729d15c64ef61e0..3c38ab8bf8e754e9251cb99e9a2b8ef088574460 100644 (file)
@@ -51,7 +51,7 @@ class Auth_Internal extends Plugin implements IAuthModule {
                                                        $return = urlencode($_REQUEST["return"]);
                                                        ?><html>
                                                                <head><title>Tiny Tiny RSS</title></head>
-                                                               <?php echo stylesheet_tag("utility.css") ?>
+                                                               <?php stylesheet_tag("css/utility.css") ?>
                                                        <body class="otp"><div class="content">
                                                        <form action="public.php?return=<?php echo $return ?>"
                                                                        method="POST" class="otpform">
index 2bf090d5404a2ed86e20d4e4f004a94e3f928d19..2ec2c87b232ca9e0e33c7d00b27763efb95e5041 100644 (file)
@@ -45,7 +45,7 @@ class Auth_Remote extends Plugin implements IAuthModule {
 #              if (!$try_login) $try_login = "test_qqq";
 
                if ($try_login) {
-                       $user_id = $this->base->auto_create_user($try_login);
+                       $user_id = $this->base->auto_create_user($try_login, $password);
 
                        if ($user_id) {
                                $_SESSION["fake_login"] = $try_login;
index e45605558385bf8eb4507a1733e991c7cb39237d..4c4d95d498973647203bd4ec647463018ceddbb3 100644 (file)
@@ -19,7 +19,7 @@ class Bookmarklets extends Plugin {
 
                print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Bookmarklets')."\">";
 
-               print "<p>" . __("Drag the link below to your browser toolbar, open the feed you're interested in in your browser and click on the link to subscribe to it.") . "</p>";
+               print_notice(__("Drag the link below to your browser toolbar, open the feed you're interested in in your browser and click on the link to subscribe to it."));
 
                $bm_subscribe_url = str_replace('%s', '', add_feed_url());
 
@@ -27,14 +27,20 @@ class Bookmarklets extends Plugin {
 
                $bm_url = htmlspecialchars("javascript:{if(confirm('$confirm_str'.replace('%s',window.location.href)))window.location.href='$bm_subscribe_url'+window.location.href}");
 
+               print "<p>";
                print "<a href=\"$bm_url\" class='bookmarklet'>" . __('Subscribe in Tiny Tiny RSS'). "</a>";
+               print "</p>";
 
-               print "<p>" . __("Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS") . "</p>";
+               print_notice(__("Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS"));
+
+               print "<p>";
 
                $bm_url = htmlspecialchars("javascript:(function(){var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='".SELF_URL_PATH."/public.php?op=sharepopup',l=d.location,e=encodeURIComponent,g=f+'&title='+((e(s))?e(s):e(document.title))+'&url='+e(l.href);function a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=500,height=250')){l.href=g;}}a();})()");
 
                print "<a href=\"$bm_url\" class='bookmarklet'>" . __('Share with Tiny Tiny RSS'). "</a>";
 
+               print "</p>";
+
                print "</div>"; #pane
 
         }
diff --git a/plugins/digest/digest.css b/plugins/digest/digest.css
deleted file mode 100644 (file)
index 54568e3..0000000
+++ /dev/null
@@ -1,337 +0,0 @@
-body#ttrssDigest {
-       color : black;
-       font-family : sans-serif;
-       font-size : 12px;
-       margin : 0px;
-       background : url("images/tile.png");
-}
-
-a {
-       color : #0069D8;
-       text-decoration : none;
-}
-
-a:hover {
-       color : gray;
-}
-
-#header a, #footer a {
-       color : gray;
-}
-
-#header a:hover, #footer a:hover {
-       color : #0069D8;
-}
-
-#header {
-       font-size : 13px;
-       font-family : "Segoe UI", Tahoma, sans-serif;
-       padding : 5px 5px 5px 1.5em;
-       color : gray;
-       position : absolute;
-       top : 0px;
-       height : 30px;
-       left : 0px;
-       right : 0px;
-       color : #a0a0a0;
-}
-
-#header span.title {
-       font-weight : bold;
-       font-style : italic;
-}
-
-#header div.links {
-       position : absolute;
-       right : 1.5em;
-}
-
-#search {
-       float : right;
-       clear : left;
-
-}
-
-#title {
-}
-
-#latest {
-       padding : 5px;
-}
-
-#content {
-       position : absolute;
-       left : 0px;
-       top : 30px;
-       right : 0px;
-       bottom : 0px;
-       -webkit-transition: left 0.2s linear, right 0.2s linear;
-       -moz-transition: left 0.2s linear, right 0.2s linear;
-       transition: left 0.2s linear, right 0.2s linear;
-}
-
-#article {
-       position : absolute;
-       overflow : auto;
-       right : 0px;
-       width : 60%;
-       bottom : 0px;
-       top : 30px;
-       background : white;
-       z-index : -1;
-       opacity : 0;
-       -webkit-transition: opacity 0.2s linear;
-       -moz-transition: opacity 0.2s linear;
-       transition: opacity 0.2s linear;
-}
-
-#article.visible {
-       opacity : 1;
-}
-
-#article #article-content h1 {
-       margin : 0px 0px 10px 0px;
-       padding : 0px 0px 5px 0px;
-       font-family : "Segoe UI", Tahoma, sans-serif;
-       font-size : 21px;
-       font-weight : bold;
-       border-width : 0px 0px 3px 0px;
-       border-style : solid;
-       border-color : #e0e0e0;
-       color : gray;
-}
-
-#article #article-content #toolbar {
-       border-width : 0px 0px 1px 0px;
-       border-color : #e0e0e0;
-       border-style : solid;
-       background : #fafafa;
-       font-size : 14px;
-       font-weight : bold;
-       padding : 5px 10px 5px 10px;
-       margin : 0px 0px 0px 0px;
-}
-
-#article #article-content {
-       padding : 0px;
-       font-size : 16px;
-}
-
-#article #article-content #tags {
-       color : #a0a0a0;
-}
-
-#article #article-content #ops {
-       float : right;
-}
-
-#article #article-content #ops img {
-       cursor : pointer;
-       margin-right : 0px;
-       margin-left : 10px;
-}
-
-#article #article-content #inner {
-       padding : 20px;
-}
-
-#article #article-content img {
-       max-width : 90%;
-}
-
-#content.move {
-       left : -300px;
-       right : 60%
-}
-
-#feeds {
-       position : absolute;
-       left : 0px;
-       width : 300px;
-       top : -30px;
-       bottom : 0px;
-       font-size : 14px;
-       overflow : auto;
-       border-width : 0px 3px 0px 0px;
-       border-color : #88b0f0;
-       border-style : solid;
-       background : #eee;
-}
-
-#feeds ul#feeds-content img {
-       width : 16px;
-       height : 16px;
-       vertical-align : middle;
-       margin-right : 5px;
-}
-
-#feeds ul#feeds-content div.unread-ctr {
-       color : #d0d0d0;
-       padding-left : 10px;
-       float : right;
-}
-
-#feeds ul#feeds-content li {
-       padding : 10px;
-       clear : both;
-       cursor : pointer;
-       color : #303030;
-       white-space : nowrap;
-}
-
-#feeds ul#feeds-content li.selected {
-       background : white;
-}
-
-#feeds ul#feeds-content {
-       list-style-type : none;
-       font-weight : bold;
-       margin : 0px;
-       padding : 0px;
-}
-
-#headlines {
-       font-size : 14px;
-       position : absolute;
-       left : 303px;
-       top : 0px;
-       bottom : 0px;
-       right : 0px;
-       overflow : auto;
-       border-width : 0px 3px 0px 0px;
-       border-style : solid;
-       border-color : #88b0f0;
-}
-
-#headlines h1 a {
-       color : #684C99;
-}
-
-#headlines ul#headlines-content .cb {
-       vertical-align : middle;
-       margin-right : 5px;
-       float : left;
-}
-
-#headlines ul#headlines-content img.icon {
-       width : 16px;
-       height : 16px;
-       vertical-align : middle;
-       margin-right : 5px;
-       float : right;
-}
-
-#headlines ul#headlines-content {
-       list-style-type : none;
-       color : gray;
-       margin : 0px;
-       padding : 0px;
-}
-
-#headlines ul#headlines-content li {
-       margin : 0px 0px 0px 0px;
-       padding : 10px;
-       color : gray;
-       clear : left;
-       border-width : 0px 0px 1px 0px;
-       border-style : solid;
-       border-color : #e0e0e0;
-       background : #eee;
-}
-
-#headlines ul#headlines-content a.title {
-       font-size : 14px;
-       font-weight : bold;
-       display : block;
-       margin-left : 21px;
-       position : relative;
-}
-
-#headlines ul#headlines-content li.fresh a.title {
-       color : #007FFF;
-}
-
-#headlines ul#headlines-content li.unread a.title {
-       color : black;
-       /* color : #8DB1D6; */
-}
-
-#headlines ul#headlines-content li.read a.title {
-       color : gray;
-}
-
-#headlines ul#headlines-content li.unread,
-#headlines ul#headlines-content li.fresh {
-       background-color : white;
-}
-
-#headlines ul#headlines-content li.selected {
-       background-color : #fff7d5;
-       border-color : white white #e0e0e0;
-}
-
-#headlines ul#headlines-content img#H-LOADING-IMG {
-       margin-left : 5px;
-}
-
-#headlines ul#headlines-content div.excerpt {
-       color : #404040;
-       cursor : pointer;
-       margin-top : 5px;
-}
-
-#headlines ul#headlines-content div.content {
-       color : #404040;
-}
-
-#headlines ul#headlines-content div.content img {
-       max-width : 75%;
-}
-
-#headlines ul#headlines-content div.body {
-       margin-left : 21px;
-       /*margin-left : 42px;*/
-}
-
-#headlines ul#headlines-content div.info {
-       font-size : 11px;
-       margin-top : 5px;
-}
-
-#headlines ul#headlines-content div.info a {
-       color : gray;
-}
-
-#overlay {
-       background : white;
-       left : 0;
-       top : 0;
-       height : 100%;
-       width : 100%;
-       z-index : 100;
-       position : absolute;
-       text-align : center;
-}
-
-#overlay_inner {
-       margin : 1em;
-}
-
-#overlay img {
-       vertical-align : middle;
-}
-
-div.fatalError button {
-       margin-top : 5px;
-}
-
-div.fatalError textarea {
-       width : 100%;
-       height : 100px;
-}
-
-div.insensitive {
-       color : gray;
-}
-
-
diff --git a/plugins/digest/digest.js b/plugins/digest/digest.js
deleted file mode 100644 (file)
index e3cb1e2..0000000
+++ /dev/null
@@ -1,924 +0,0 @@
-var last_feeds = [];
-var init_params = {};
-var hotkeys_map = false;
-var hotkey_prefix = false;
-var mobile_mode = false;
-
-var _active_feed_id = false;
-var _update_timeout = false;
-var _view_update_timeout = false;
-var _feedlist_expanded = false;
-var _update_seq = 1;
-
-function article_appear(article_id) {
-       try {
-               new Effect.Appear('A-' + article_id);
-       } catch (e) {
-               exception_error("article_appear", e);
-       }
-}
-
-function catchup_feed(feed_id, callback) {
-       try {
-
-               var fn = find_feed(last_feeds, feed_id).title;
-
-               if (confirm(__("Mark all articles in %s as read?").replace("%s", fn))) {
-
-                       var is_cat = "";
-
-                       if (feed_id < 0) is_cat = "true"; // KLUDGE
-
-                       var query = "op=rpc&method=catchupFeed&feed_id=" +
-                               feed_id + "&is_cat=" + is_cat;
-
-                       new Ajax.Request("backend.php", {
-                               parameters: query,
-                               onComplete: function(transport) {
-                                       if (callback) callback(transport);
-
-                                       update();
-                               } });
-               }
-
-       } catch (e) {
-               exception_error("catchup_article", e);
-       }
-}
-
-function get_visible_article_ids() {
-       try {
-               var elems = $("headlines-content").getElementsByTagName("LI");
-               var ids = [];
-
-               for (var i = 0; i < elems.length; i++) {
-                       if (elems[i].id && elems[i].id.match("A-")) {
-                       ids.push(elems[i].id.replace("A-", ""));
-                       }
-               }
-
-               return ids;
-
-       } catch (e) {
-               exception_error("get_visible_article_ids", e);
-       }
-}
-
-function catchup_visible_articles(callback) {
-       try {
-
-               var ids = get_visible_article_ids();
-
-               if (confirm(ngettext("Mark %d displayed article as read?", "Mark %d displayed articles as read?", ids.length).replace("%d", ids.length))) {
-
-                       var query = "op=rpc&method=catchupSelected" +
-                               "&cmode=0&ids=" + param_escape(ids);
-
-                       new Ajax.Request("backend.php", {
-                               parameters: query,
-                               onComplete: function(transport) {
-                                       if (callback) callback(transport);
-
-                                       viewfeed(_active_feed_id, 0);
-                               } });
-
-                       }
-
-       } catch (e) {
-               exception_error("catchup_visible_articles", e);
-       }
-}
-
-function catchup_article(article_id, callback) {
-       try {
-               var query = "op=rpc&method=catchupSelected" +
-                       "&cmode=0&ids=" + article_id;
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function(transport) {
-                               if (callback) callback(transport);
-                       } });
-
-       } catch (e) {
-               exception_error("catchup_article", e);
-       }
-}
-
-function set_selected_article(article_id) {
-       try {
-               $$("#headlines-content > li[id*=A-]").each(function(article) {
-                               var id = article.id.replace("A-", "");
-
-                               var cb = article.getElementsByTagName("INPUT")[0];
-
-                               if (id == article_id) {
-                                       article.addClassName("selected");
-                                       cb.checked = true;
-                               } else {
-                                       article.removeClassName("selected");
-                                       cb.checked = false;
-                               }
-
-               });
-
-       } catch (e) {
-               exception_error("set_selected_article", e);
-       }
-}
-
-
-function set_selected_feed(feed_id) {
-       try {
-               var feeds = $("feeds-content").getElementsByTagName("LI");
-
-               for (var i = 0; i < feeds.length; i++) {
-                       if (feeds[i].id == "F-" + feed_id)
-                               feeds[i].className = "selected";
-                       else
-                               feeds[i].className = "";
-               }
-
-               _active_feed_id = feed_id;
-
-       } catch (e) {
-               exception_error("set_selected_feed", e);
-       }
-}
-
-function load_more() {
-       try {
-               var pr = $("H-LOADING-IMG");
-
-               if (pr) Element.show(pr);
-
-               var offset = $$("#headlines-content > li[id*=A-][class*=fresh],li[id*=A-][class*=unread]").length;
-
-               viewfeed(false, offset, false, false, true,
-                       function() {
-                               var pr = $("H-LOADING-IMG");
-
-                               if (pr) Element.hide(pr);
-                       });
-       } catch (e) {
-               exception_error("load_more", e);
-       }
-}
-
-function update(callback) {
-       try {
-               console.log('updating feeds...');
-
-               window.clearTimeout(_update_timeout);
-
-               new Ajax.Request("backend.php", {
-                       parameters: "op=digest&method=digestinit",
-                       onComplete: function(transport) {
-                               fatal_error_check(transport);
-                               parse_feeds(transport);
-                               set_selected_feed(_active_feed_id);
-
-                               if (callback) callback(transport);
-                               } });
-
-               _update_timeout = window.setTimeout('update()', 5*1000);
-       } catch (e) {
-               exception_error("update", e);
-       }
-}
-
-function remove_headline_entry(article_id) {
-       try {
-               var elem = $('A-' + article_id);
-
-               if (elem) {
-                       elem.parentNode.removeChild(elem);
-               }
-
-       } catch (e) {
-               exception_error("remove_headline_entry", e);
-       }
-}
-
-function view_update() {
-       try {
-               viewfeed(_active_feed_id, _active_feed_offset, false, true, true);
-               update();
-       } catch (e) {
-               exception_error("view_update", e);
-       }
-}
-
-function view(article_id) {
-       try {
-               $("content").addClassName("move");
-
-               var a = $("A-" + article_id);
-               var h = $("headlines");
-
-               setTimeout(function() {
-                       // below or above viewport, reposition headline
-                       if (a.offsetTop > h.scrollTop + h.offsetHeight || a.offsetTop+a.offsetHeight < h.scrollTop+a.offsetHeight)
-                               h.scrollTop = a.offsetTop - (h.offsetHeight/2 - a.offsetHeight/2);
-                       }, 500);
-
-               new Ajax.Request("backend.php", {
-                       parameters: "op=digest&method=digestgetcontents&article_id=" +
-                               article_id,
-                       onComplete: function(transport) {
-                               fatal_error_check(transport);
-
-                               var reply = JSON.parse(transport.responseText);
-
-                               if (reply) {
-                                       var article = reply['article'];
-
-                                       var mark_part = "";
-                                       var publ_part = "";
-
-                                       var tags_part = "";
-
-                                       if (article.tags.length > 0) {
-                                               tags_part = " " + __("in") + " ";
-
-                                               for (var i = 0; i < Math.min(5, article.tags.length); i++) {
-                                                       //tags_part += "<a href=\"#\" onclick=\"viewfeed('" +
-                                                       //              article.tags[i] + "')\">" +
-                                                       //      article.tags[i] + "</a>, ";
-
-                                                       tags_part += article.tags[i] + ", ";
-                                               }
-
-                                               tags_part = tags_part.replace(/, $/, "");
-                                               tags_part = "<span class=\"tags\">" + tags_part + "</span>";
-
-                                       }
-
-                                       if (article.marked)
-                                               mark_part = "<img title='"+ __("Unstar article")+"' onclick=\"toggle_mark(this, "+article.id+")\" src='images/mark_set.svg'>";
-                                       else
-                                               mark_part =     "<img title='"+__("Star article")+"' onclick=\"toggle_mark(this, "+article.id+")\" src='images/mark_unset.svg'>";
-
-                                       if (article.published)
-                                               publ_part = "<img title='"+__("Unpublish article")+"' onclick=\"toggle_pub(this, "+article.id+")\" src='images/pub_set.svg'>";
-                                       else
-                                               publ_part =     "<img title='"+__("Publish article")+"' onclick=\"toggle_pub(this, "+article.id+")\" src='images/pub_unset.svg'>";
-
-                                       var tmp = "<div id=\"inner\">" +
-                                               "<div id=\"ops\">" +
-                                               mark_part +
-                                               publ_part +
-                                               "</div>" +
-                                               "<h1>" + "<a target=\"_blank\" href=\""+article.url+"\">" +
-                                                       article.title + "</a>" + "</h1>" +
-                                               "<div id=\"tags\">" +
-                                               tags_part +
-                                               "</div>" +
-                                               article.content + "</div>";
-
-                                       $("article-content").innerHTML = tmp;
-                                       $("article").addClassName("visible");
-
-                                       set_selected_article(article.id);
-
-                                       catchup_article(article_id,
-                                               function() {
-                                                       $("A-" + article_id).addClassName("read");
-                                       });
-
-                               } else {
-                                       elem.innerHTML = __("Error: unable to load article.");
-                               }
-                       }
-               });
-
-
-               return false;
-       } catch (e) {
-               exception_error("view", e);
-       }
-}
-
-function close_feed() {
-       $("headlines").removeClassName("move");
-
-       if (mobile_mode) set_selected_feed(false);
-}
-
-function go_back() {
-       if ($("article").hasClassName("visible")) {
-               close_article();
-       } else {
-               close_feed();
-       }
-}
-
-function close_article() {
-       $("content").removeClassName("move");
-       $("article").removeClassName("visible");
-}
-
-function viewfeed(feed_id, offset, replace, no_effects, no_indicator, callback) {
-       try {
-
-               $("headlines").addClassName("move");
-
-               if (!feed_id) feed_id = _active_feed_id;
-               if (offset == undefined) offset = 0;
-               if (replace == undefined) replace = (offset == 0);
-
-               _update_seq = _update_seq + 1;
-
-               if (!offset) $("headlines").scrollTop = 0;
-
-               var query = "op=digest&method=digestupdate&feed_id=" +
-                               param_escape(feed_id) + "&offset=" + offset +
-                               "&seq=" + _update_seq;
-
-               console.log(query);
-
-               var img = false;
-
-               if ($("F-" + feed_id)) {
-                       img = $("F-" + feed_id).getElementsByTagName("IMG")[0];
-
-                       if (img && !no_indicator) {
-                               img.setAttribute("orig_src", img.src);
-                               img.src = 'images/indicator_tiny.gif';
-                       }
-               }
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function(transport) {
-                               Element.hide("overlay");
-
-                               fatal_error_check(transport);
-                               parse_headlines(transport, replace, no_effects);
-                               set_selected_feed(feed_id);
-                               _active_feed_offset = offset;
-
-                               if (img && !no_indicator)
-                                       img.src = img.getAttribute("orig_src");
-
-                               if (callback) callback(transport);
-
-                       } });
-
-       } catch (e) {
-               exception_error("view", e);
-       }
-}
-
-function find_article(articles, article_id) {
-       try {
-               for (var i = 0; i < articles.length; i++) {
-                       if (articles[i].id == article_id)
-                               return articles[i];
-               }
-
-               return false;
-
-       } catch (e) {
-               exception_error("find_article", e);
-       }
-}
-
-function find_feed(feeds, feed_id) {
-       try {
-               for (var i = 0; i < feeds.length; i++) {
-                       if (feeds[i].id == feed_id)
-                               return feeds[i];
-               }
-
-               return false;
-
-       } catch (e) {
-               exception_error("find_feed", e);
-       }
-}
-
-function get_feed_icon(feed) {
-       try {
-               if (feed.has_icon)
-                       return getInitParam('icons_url') + "/" + feed.id + '.ico';
-
-               if (feed.id == -1)
-                       return 'images/mark_set.svg';
-
-               if (feed.id == -2)
-                       return 'images/pub_set.svg';
-
-               if (feed.id == -3)
-                       return 'images/fresh.png';
-
-               if (feed.id == -4)
-                       return 'images/tag.png';
-
-               if (feed.id < -10)
-                       return 'images/label.png';
-
-               return 'images/blank_icon.gif';
-
-       } catch (e) {
-               exception_error("get_feed_icon", e);
-       }
-}
-
-function add_feed_entry(feed) {
-       try {
-               var icon_part = "";
-
-               icon_part = "<img src='" + get_feed_icon(feed) + "'/>";
-
-               var title = (feed.title.length > 30) ?
-                       feed.title.substring(0, 30) + "&hellip;" :
-                       feed.title;
-
-               var tmp_html = "<li id=\"F-"+feed.id+"\" onclick=\"viewfeed("+feed.id+")\">" +
-                       "<div class='unread-ctr'>" + "<span class=\"unread\">" + feed.unread + "</span></div>" +
-                       icon_part + title +
-                       "</li>";
-
-               $("feeds-content").innerHTML += tmp_html;
-
-
-       } catch (e) {
-               exception_error("add_feed_entry", e);
-       }
-}
-
-function add_headline_entry(article, feed, no_effects) {
-       try {
-
-               var icon_part = "";
-
-               icon_part = "<img class='icon' src='" + get_feed_icon(feed) + "'/>";
-
-
-               var style = "";
-
-               //if (!no_effects) style = "style=\"display : none\"";
-
-               if (article.excerpt.trim() == "")
-                       article.excerpt = __("Click to expand article.");
-
-               var li_class = "unread";
-
-               var fresh_max = getInitParam("fresh_article_max_age") * 60 * 60;
-               var d = new Date();
-
-               if (d.getTime() / 1000 - article.updated < fresh_max)
-                       li_class = "fresh";
-
-               var checkbox_part = "<input type=\"checkbox\" class=\"cb\" onclick=\"toggle_select_article(this)\"/>";
-
-               var date = new Date(article.updated * 1000);
-
-               var date_part = date.toString().substring(0,21);
-
-               var tmp_html = "<li id=\"A-"+article.id+"\" "+style+" class=\""+li_class+"\">" +
-                       checkbox_part +
-                       icon_part +
-                       "<a target=\"_blank\" href=\""+article.link+"\""+
-                               "onclick=\"return view("+article.id+")\" class='title'>" +
-                               article.title + "</a>" +
-                       "<div class='body'>" +
-                       "<div onclick=\"view("+article.id+")\" class='excerpt'>" +
-                               article.excerpt + "</div>" +
-                       "<div onclick=\"view("+article.id+")\" class='info'>";
-
-/*             tmp_html += "<a href=\#\" onclick=\"viewfeed("+feed.id+")\">" +
-                                       feed.title + "</a> " + " @ "; */
-
-               tmp_html += date_part + "</div>" +
-                       "</div></li>";
-
-               $("headlines-content").innerHTML += tmp_html;
-
-               if (!no_effects)
-                       window.setTimeout('article_appear(' + article.id + ')', 100);
-
-       } catch (e) {
-               exception_error("add_headline_entry", e);
-       }
-}
-
-function expand_feeds() {
-       try {
-               _feedlist_expanded = true;
-
-               redraw_feedlist(last_feeds);
-
-       } catch (e) {
-               exception_error("expand_feeds", e);
-       }
-}
-
-function redraw_feedlist(feeds) {
-       try {
-
-               $('feeds-content').innerHTML = "";
-
-               var limit = 10;
-
-               if (_feedlist_expanded) limit = feeds.length;
-
-               for (var i = 0; i < Math.min(limit, feeds.length); i++) {
-                       add_feed_entry(feeds[i]);
-               }
-
-               if (feeds.length > limit) {
-                       $('feeds-content').innerHTML += "<li id='F-MORE-PROMPT'>" +
-                               "<img src='images/blank_icon.gif'>" +
-                               "<a href=\"#\" onclick=\"expand_feeds()\">" +
-                               ngettext("%d more...", "%d more...", feeds.length-10).replace("%d", feeds.length-10) +
-                               "</a>" + "</li>";
-               }
-
-               if (feeds.length == 0) {
-                       $('feeds-content').innerHTML =
-                               "<div class='insensitive' style='text-align : center'>" +
-                                       __("No unread feeds.") + "</div>";
-               }
-
-               if (_active_feed_id)
-                       set_selected_feed(_active_feed_id);
-
-       } catch (e) {
-               exception_error("redraw_feedlist", e);
-       }
-}
-
-function parse_feeds(transport) {
-       try {
-               var reply = JSON.parse(transport.responseText);
-
-               if (!reply) return;
-
-               var feeds = reply['feeds'];
-
-               if (feeds) {
-
-                       feeds.sort( function (a,b)
-                               {
-                                       if (b.unread != a.unread)
-                                               return (b.unread - a.unread);
-                                       else
-                                               if (a.title > b.title)
-                                                       return 1;
-                                               else if (a.title < b.title)
-                                                       return -1;
-                                               else
-                                                       return 0;
-                               });
-
-                       var all_articles = find_feed(feeds, -4);
-
-                       update_title(all_articles.unread);
-
-                       last_feeds = feeds;
-
-                       redraw_feedlist(feeds);
-               }
-
-               if (reply['hotkeys']) {
-                       hotkeys_map = reply['hotkeys'];
-               }
-
-       } catch (e) {
-               console.log(e);
-               //exception_error("parse_feeds", e);
-       }
-}
-
-function parse_headlines(transport, replace, no_effects) {
-       try {
-               var reply = JSON.parse(transport.responseText);
-               if (!reply) return;
-
-               var seq = reply['seq'];
-
-               if (seq) {
-                       if (seq != _update_seq) {
-                               console.log("parse_headlines: wrong sequence received.");
-                               return;
-                       }
-               } else {
-                       return;
-               }
-
-               var headlines = reply['headlines']['content'];
-               var headlines_title = reply['headlines']['title'];
-
-               if (headlines && headlines_title) {
-
-                       if (replace) {
-                               $('headlines-content').innerHTML = '';
-                       }
-
-                       var pr = $('H-MORE-PROMPT');
-
-                       if (pr) pr.parentNode.removeChild(pr);
-
-                       var inserted = false;
-
-                       for (var i = 0; i < headlines.length; i++) {
-
-                               if (!$('A-' + headlines[i].id)) {
-                                       add_headline_entry(headlines[i],
-                                                       find_feed(last_feeds, headlines[i].feed_id), !no_effects);
-
-                               }
-                       }
-
-                       console.log(inserted.id);
-
-                       var ids = get_visible_article_ids();
-
-                       if (ids.length > 0) {
-                               if (pr) {
-                                       $('headlines-content').appendChild(pr);
-
-                               } else {
-                                       $('headlines-content').innerHTML += "<li id='H-MORE-PROMPT'>" +
-                                               "<div class='body'>" +
-                                               "<a href=\"#\" onclick=\"catchup_visible_articles()\">" +
-                                               __("Mark as read") + "</a> | " +
-                                               "<a href=\"javascript:load_more()\">" +
-                                               __("Load more...") + "</a>" +
-                                               "<img style=\"display : none\" "+
-                                               "id=\"H-LOADING-IMG\" src='images/indicator_tiny.gif'>" +
-                                               "</div></li>";
-                               }
-                       } else {
-                               // FIXME : display some kind of "nothing to see here" prompt here
-                       }
-
-//                     if (replace && !no_effects)
-//                             new Effect.Appear('headlines-content', {duration : 0.3});
-
-                       //new Effect.Appear('headlines-content');
-               }
-
-       } catch (e) {
-               exception_error("parse_headlines", e);
-       }
-}
-
-function init_second_stage() {
-       try {
-               new Ajax.Request("backend.php", {
-                       parameters: "op=digest&method=digestinit&init=1",
-                       onComplete: function(transport) {
-                               parse_feeds(transport);
-                               Element.hide("overlay");
-
-                               document.onkeydown = hotkey_handler;
-
-                               if (!mobile_mode)
-                                       window.setTimeout('viewfeed(-4)', 100);
-                                       _update_timeout = window.setTimeout('update()', 5*1000);
-                                       } });
-
-       } catch (e) {
-               exception_error("init_second_stage", e);
-       }
-}
-
-function init(mobile) {
-       try {
-               mobile_mode = mobile;
-
-               new Ajax.Request("backend.php", {
-                       parameters: {op: "rpc", method: "sanityCheck"},
-                       onComplete: function(transport) {
-                               backend_sanity_check_callback(transport);
-                       } });
-
-       } catch (e) {
-               exception_error("digest_init", e);
-       }
-}
-
-function toggle_mark(img, id) {
-
-       try {
-
-               var query = "op=rpc&id=" + id + "&method=mark";
-
-               if (!img) return;
-
-               if (img.src.match("mark_unset")) {
-                       img.src = img.src.replace("mark_unset", "mark_set");
-                       img.alt = __("Unstar article");
-                       query = query + "&mark=1";
-               } else {
-                       img.src = img.src.replace("mark_set", "mark_unset");
-                       img.alt = __("Star article");
-                       query = query + "&mark=0";
-               }
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function(transport) {
-                               update();
-                       } });
-
-       } catch (e) {
-               exception_error("toggle_mark", e);
-       }
-}
-
-function toggle_pub(img, id, note) {
-
-       try {
-
-               var query = "op=rpc&id=" + id + "&method=publ";
-
-               if (note != undefined) {
-                       query = query + "&note=" + param_escape(note);
-               } else {
-                       query = query + "&note=undefined";
-               }
-
-               if (!img) return;
-
-               if (img.src.match("pub_unset") || note != undefined) {
-                       img.src = img.src.replace("pub_unset", "pub_set");
-                       img.alt = __("Unpublish article");
-                       query = query + "&pub=1";
-
-               } else {
-                       img.src = img.src.replace("pub_set", "pub_unset");
-                       img.alt = __("Publish article");
-                       query = query + "&pub=0";
-               }
-
-               new Ajax.Request("backend.php", {
-                       parameters: query,
-                       onComplete: function(transport) {
-                               update();
-                       } });
-
-       } catch (e) {
-               exception_error("toggle_pub", e);
-       }
-}
-
-function fatal_error(code, msg) {
-       try {
-
-               if (code == 6) {
-                       window.location.href = "digest.php";
-               } else if (code == 5) {
-                       window.location.href = "public.php?op=dbupdate";
-               } else {
-
-                       if (msg == "") msg = "Unknown error";
-
-                       console.error("Fatal error: " + code + "\n" +
-                               msg);
-
-               }
-
-       } catch (e) {
-               exception_error("fatalError", e);
-       }
-}
-
-function fatal_error_check(transport) {
-       try {
-               if (transport.responseXML) {
-                       var error = transport.responseXML.getElementsByTagName("error")[0];
-
-                       if (error) {
-                               var code = error.getAttribute("error-code");
-                               var msg = error.getAttribute("error-msg");
-                               if (code != 0) {
-                                       fatal_error(code, msg);
-                                       return false;
-                               }
-                       }
-               }
-       } catch (e) {
-               exception_error("fatal_error_check", e);
-       }
-       return true;
-}
-
-function update_title(unread) {
-       try {
-               document.title = "Tiny Tiny RSS";
-
-               if (unread > 0)
-                       document.title += " (" + unread + ")";
-
-       } catch (e) {
-               exception_error("update_title", e);
-       }
-}
-
-function toggle_select_article(elem) {
-       try {
-               var article = elem.parentNode;
-
-               if (article.hasClassName("selected"))
-                       article.removeClassName("selected");
-               else
-                       article.addClassName("selected");
-
-       } catch (e) {
-               exception_error("toggle_select_article", e);
-       }
-}
-
-function hotkey_handler(e) {
-       try {
-
-               if (e.target.nodeName == "INPUT" || e.target.nodeName == "TEXTAREA") return;
-
-               var keycode = false;
-               var shift_key = false;
-
-               var cmdline = $('cmdline');
-
-               try {
-                       shift_key = e.shiftKey;
-               } catch (e) {
-
-               }
-
-               if (window.event) {
-                       keycode = window.event.keyCode;
-               } else if (e) {
-                       keycode = e.which;
-               }
-
-               var keychar = String.fromCharCode(keycode);
-
-               if (!shift_key) keychar = keychar.toLowerCase();
-
-               if (keycode == 16) return; // ignore lone shift
-               if (keycode == 17) return; // ignore lone ctrl
-
-               var hotkey = keychar.search(/[a-zA-Z0-9]/) != -1 ? keychar : "(" + keycode + ")";
-               hotkey = hotkey_prefix ? hotkey_prefix + " " + hotkey : hotkey;
-               hotkey_prefix = false;
-
-               var hotkey_action = false;
-               var hotkeys = getInitParam("hotkeys");
-
-               for (sequence in hotkeys[1]) {
-                       if (sequence == hotkey) {
-                               hotkey_action = hotkeys[1][sequence];
-                               break;
-                       }
-               }
-
-               switch (keycode) {
-               case 27: // esc
-                       go_back();
-                       return false;
-               }
-
-               switch (hotkey_action) {
-               case "next_feed":
-                       var feeds = $$("#feeds li");
-                       for (var i = 0; i < feeds.length; i++) {
-                               var base_id = feeds[i].id.replace("F-", "");
-
-                               if (base_id == _active_feed_id) {
-                                       if (feeds[i+1]) {
-                                               viewfeed(feeds[i+1].id.replace("F-", ""));
-                                       }
-                                       break;
-                               }
-                       }
-                       return false;
-               case "prev_feed":
-                       var feeds = $$("#feeds li");
-                       for (var i = 0; i < feeds.length; i++) {
-                               var base_id = feeds[i].id.replace("F-", "");
-
-                               if (base_id == _active_feed_id) {
-                                       if (feeds[i-1]) {
-                                               viewfeed(feeds[i-1].id.replace("F-", ""));
-                                       }
-                                       break;
-                               }
-                       }
-                       return false;
-               case "next_article":
-                       return false;
-               case "prev_article":
-                       return false;
-               default:
-                       console.log("unhandled action: " + hotkey_action + "; hotkey: " + hotkey);
-               }
-
-
-       } catch (e) {
-               exception_error("hotkey_handler", e);
-       }
-}
diff --git a/plugins/digest/digest_body.php b/plugins/digest/digest_body.php
deleted file mode 100644 (file)
index 18932e5..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html>
-<head>
-       <title>Tiny Tiny RSS</title>
-
-       <?php
-               require_once "lib/Mobile_Detect.php";
-               $mobile = new Mobile_Detect();
-
-               if ($mobile->isMobile() || @$_REQUEST['mode'] == 'mobile') {
-                       $_SESSION["digest_mobile"] = 1;
-                       echo stylesheet_tag("plugins/digest/mobile.css");
-               } else {
-                       $_SESSION["digest_mobile"] = 0;
-                       echo stylesheet_tag("plugins/digest/digest.css");
-               }
-       ?>
-
-       <meta name="viewport" content="width=device-width,
-               minimum-scale=1.0, maximum-scale=1.0" />
-
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-
-       <?php print_user_stylesheet(); ?>
-
-       <link rel="shortcut icon" type="image/png" href="images/favicon.png"/>
-
-       <?php
-       foreach (array("lib/prototype.js",
-                               "lib/scriptaculous/scriptaculous.js?load=effects,dragdrop,controls",
-                               "js/functions.js",
-                               "plugins/digest/digest.js",
-                               "errors.php?mode=js") as $jsfile) {
-
-               echo javascript_tag($jsfile);
-       } ?>
-
-       <script type="text/javascript">
-       <?php init_js_translations(); ?>
-       </script>
-
-       <script type="text/javascript" src="plugins/digest/digest.js"></script>
-
-       <script type="text/javascript">
-               Event.observe(window, 'load', function() {
-                       init(<?php echo $_SESSION["digest_mobile"] ?>);
-               });
-       </script>
-</head>
-<body id="ttrssDigest">
-       <div id="overlay" style="display : block">
-               <div id="overlay_inner">
-               <noscript>
-                       <p>
-                       <?php print_error(__("Your browser doesn't support Javascript, which is required for this application to function properly. Please check your browser settings.")) ?></p>
-               </noscript>
-
-               <img src="images/indicator_white.gif"/>
-                       <?php echo __("Loading, please wait...") ?>
-               </div>
-       </div>
-
-       <div id="header">
-       <a style="float : left" href="#" onclick="go_back()">
-               <?php echo __("Go back") ?></a>
-
-       <div class="links">
-
-       <?php if (!$_SESSION["hide_hello"]) { ?>
-                       <?php echo __('Hello,') ?> <b><?php echo $_SESSION["name"] ?></b> |
-       <?php } ?>
-       <?php if (!$_SESSION["hide_logout"]) { ?>
-                       <a href="backend.php?op=logout"><?php echo __('Logout') ?></a> |
-       <?php } ?>
-                       <a href='<?php echo get_self_url_prefix() ?>/index.php?mobile=false'>
-                       <?php echo __("Regular version") ?></a>
-
-       </div>
-       </div>
-
-       <div id="article"><div id="article-content">&nbsp;</div></div>
-
-       <div id="content">
-
-               <div id="feeds">
-                       <ul id="feeds-content"> </ul>
-               </div>
-
-               <div id="headlines">
-                       <ul id="headlines-content"> </ul>
-               </div>
-       </div>
-
-</body>
-</html>
diff --git a/plugins/digest/images/tile.png b/plugins/digest/images/tile.png
deleted file mode 100644 (file)
index 72f2f45..0000000
Binary files a/plugins/digest/images/tile.png and /dev/null differ
diff --git a/plugins/digest/init.php b/plugins/digest/init.php
deleted file mode 100644 (file)
index aee351c..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-// TODO: digest should register digest specific hotkey actions within tt-rss
-class Digest extends Plugin implements IHandler {
-       private $host;
-
-       function about() {
-               return array(1.0,
-                       "Digest mode for tt-rss (tablet friendly UI)",
-                       "fox",
-                       true);
-       }
-
-       function init($host) {
-               $this->link = $host->get_link();
-               $this->host = $host;
-
-               $host->add_handler("digest", "*", $this);
-       }
-
-       function index() {
-               header("Content-type: text/html; charset=utf-8");
-
-               login_sequence();
-
-               require_once dirname(__FILE__) . "/digest_body.php";
-       }
-
-       /* function get_js() {
-               return file_get_contents(dirname(__FILE__) . "/digest.js");
-       } */
-
-       function csrf_ignore($method) {
-               return in_array($method, array("index"));
-       }
-
-       function before($method) {
-               return true;
-       }
-
-       function after() {
-
-       }
-
-       function digestgetcontents() {
-               $article_id = db_escape_string($_REQUEST['article_id']);
-
-               $result = db_query("SELECT content,title,link,marked,published
-                       FROM ttrss_entries, ttrss_user_entries
-                       WHERE id = '$article_id' AND ref_id = id AND owner_uid = ".$_SESSION['uid']);
-
-               $content = sanitize(db_fetch_result($result, 0, "content"));
-               $title = strip_tags(db_fetch_result($result, 0, "title"));
-               $article_url = htmlspecialchars(db_fetch_result($result, 0, "link"));
-               $marked = sql_bool_to_bool(db_fetch_result($result, 0, "marked"));
-               $published = sql_bool_to_bool(db_fetch_result($result, 0, "published"));
-
-               print json_encode(array("article" =>
-                       array("id" => $article_id, "url" => $article_url,
-                               "tags" => get_article_tags($article_id),
-                               "marked" => $marked, "published" => $published,
-                               "title" => $title, "content" => $content)));
-       }
-
-       function digestupdate() {
-               $feed_id = db_escape_string($_REQUEST['feed_id']);
-               $offset = db_escape_string($_REQUEST['offset']);
-               $seq = db_escape_string($_REQUEST['seq']);
-
-               if (!$feed_id) $feed_id = -4;
-               if (!$offset) $offset = 0;
-
-               $reply = array();
-
-               $reply['seq'] = $seq;
-
-               $headlines = API::api_get_headlines($feed_id, 30, $offset,
-                               '', ($feed_id == -4), true, false, "unread", "updated DESC", 0, 0);
-
-               $reply['headlines'] = array();
-               $reply['headlines']['title'] = getFeedTitle($feed_id);
-               $reply['headlines']['content'] = $headlines;
-
-               print json_encode($reply);
-       }
-
-       function digestinit() {
-               $tmp_feeds = API::api_get_feeds(-4, true, false, 0);
-
-               $params = array();
-               $feeds = array();
-
-               foreach ($tmp_feeds as $f) {
-                       if ($f['id'] > 0 || $f['id'] == -4) array_push($feeds, $f);
-               }
-
-               if ($_REQUEST["init"] == 1) {
-                       $params["hotkeys"] = get_hotkeys_map();
-               }
-               $params["feeds"] = $feeds;
-
-               print json_encode($params);
-       }
-
-       function api_version() {
-               return 2;
-       }
-
-}
-?>
diff --git a/plugins/digest/mobile.css b/plugins/digest/mobile.css
deleted file mode 100644 (file)
index 89989df..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-body#ttrssDigest {
-       color : black;
-       font-family : sans-serif;
-       font-size : 12px;
-       margin : 0px;
-       background : url("images/tile.png");
-}
-
-a {
-       color : #0069D8;
-       text-decoration : none;
-}
-
-a:hover {
-       color : gray;
-}
-
-#header a, #footer a {
-       color : gray;
-}
-
-#header a:hover, #footer a:hover {
-       color : #0069D8;
-}
-
-#header {
-       font-size : 14px;
-       font-weight : bold;
-       font-family : "Segoe UI", Tahoma, sans-serif;
-       padding : 5px 5px 5px 1.5em;
-       color : gray;
-       position : absolute;
-       top : 0px;
-       height : 30px;
-       left : 0px;
-       right : 0px;
-       color : #a0a0a0;
-}
-
-#header span.title {
-       font-weight : bold;
-       font-style : italic;
-}
-
-#header div.links {
-       position : absolute;
-       right : 1.5em;
-}
-
-#search {
-       float : right;
-       clear : left;
-
-}
-
-#title {
-}
-
-#latest {
-       padding : 5px;
-}
-
-#content {
-       position : absolute;
-       left : 0px;
-       top : 30px;
-       right : 0px;
-       bottom : 0px;
-       -webkit-transition: left 0.2s linear, right 0.2s linear;
-       -moz-transition: left 0.2s linear, right 0.2s linear;
-       transition: left 0.2s linear, right 0.2s linear;
-}
-
-#article {
-       position : absolute;
-       overflow : auto;
-       right : 0px;
-       width : 100%;
-       bottom : 0px;
-       top : 30px;
-       background : white;
-       opacity : 0;
-       -webkit-transition: opacity 0.2s linear;
-       -moz-transition: opacity 0.2s linear;
-       transition: opacity 0.2s linear;
-}
-
-#article.visible {
-       opacity : 1;
-}
-
-#article #article-content h1 {
-       margin : 0px;
-       padding : 0px;
-       font-family : "Segoe UI", Tahoma, sans-serif;
-       font-size : 21px;
-       font-weight : bold;
-       border-width : 0px 0px 3px 0px;
-       border-style : solid;
-       border-color : #e0e0e0;
-       color : gray;
-}
-
-#article #article-content #toolbar {
-       border-width : 0px 0px 1px 0px;
-       border-color : #e0e0e0;
-       border-style : solid;
-       background : #fafafa;
-       font-size : 14px;
-       font-weight : bold;
-       padding : 5px 10px 5px 10px;
-       margin : 0px 0px 0px 0px;
-}
-
-#article #article-content {
-       padding : 0px;
-       font-size : 16px;
-}
-
-#article #article-content #tags {
-       color : #a0a0a0;
-       margin-bottom : 5px;
-}
-
-#article #article-content #ops {
-       float : right;
-}
-
-#article #article-content #ops img {
-       cursor : pointer;
-       margin-right : 0px;
-       margin-left : 10px;
-}
-
-#article #article-content #inner {
-       padding : 10px;
-}
-
-#article #article-content img {
-       max-width : 90%;
-}
-
-#content.move {
-       left : 0px;
-       right : 100%;
-}
-
-#feeds {
-       position : absolute;
-       left : 0px;
-       top : 0px;
-       right : 0px;
-       bottom : 0px;
-       font-size : 14px;
-       overflow : auto;
-       background : white;
-}
-
-#feeds ul#feeds-content img {
-       width : 16px;
-       height : 16px;
-       vertical-align : middle;
-       margin-right : 5px;
-}
-
-#feeds ul#feeds-content div.unread-ctr {
-       color : #d0d0d0;
-       padding-left : 10px;
-       float : right;
-}
-
-#feeds ul#feeds-content li {
-       padding : 10px;
-       clear : both;
-       cursor : pointer;
-       color : #303030;
-       white-space : nowrap;
-}
-
-#feeds ul#feeds-content li.selected {
-       background : white;
-}
-
-#feeds ul#feeds-content {
-       list-style-type : none;
-       font-weight : bold;
-       margin : 0px;
-       padding : 0px;
-}
-
-#headlines {
-       font-size : 14px;
-       position : absolute;
-       top : 0px;
-       bottom : 0px;
-       right : 0px;
-       overflow : auto;
-       background : white;
-       border-width : 0px 3px 0px 0px;
-       border-style : solid;
-       border-color : #88b0f0;
-       left : 100%;
-
-       -webkit-transition: left 0.2s linear, right 0.2s linear;
-       -moz-transition: left 0.2s linear, right 0.2s linear;
-       transition: left 0.2s linear, right 0.2s linear;
-
-}
-
-#headlines.move {
-       left : 0px;
-}
-
-#headlines h1 a {
-       color : #684C99;
-}
-
-#headlines ul#headlines-content .cb {
-       vertical-align : middle;
-       margin-right : 5px;
-       float : left;
-}
-
-#headlines ul#headlines-content img.icon {
-       width : 16px;
-       height : 16px;
-       vertical-align : middle;
-       margin-right : 5px;
-       float : right;
-}
-
-#headlines ul#headlines-content {
-       list-style-type : none;
-       color : gray;
-       margin : 0px;
-       padding : 0px;
-}
-
-#headlines ul#headlines-content li {
-       margin : 0px 0px 0px 0px;
-       padding : 10px;
-       color : gray;
-       clear : left;
-       border-width : 0px 0px 1px 0px;
-       border-style : solid;
-       border-color : #e0e0e0;
-       background : #eee;
-}
-
-#headlines ul#headlines-content a.title {
-       font-size : 14px;
-       font-weight : bold;
-       display : block;
-       margin-left : 21px;
-       position : relative;
-}
-
-#headlines ul#headlines-content li.fresh a.title {
-       color : #007FFF;
-}
-
-#headlines ul#headlines-content li.unread a.title {
-       color : black;
-       /* color : #8DB1D6; */
-}
-
-#headlines ul#headlines-content li.read a.title {
-       color : gray;
-}
-
-#headlines ul#headlines-content li.unread,
-#headlines ul#headlines-content li.fresh {
-       background-color : white;
-}
-
-#headlines ul#headlines-content li.selected {
-       background-color : #fff7d5;
-       border-color : white white #e0e0e0;
-}
-
-#headlines ul#headlines-content img#H-LOADING-IMG {
-       margin-left : 5px;
-}
-
-#headlines ul#headlines-content div.excerpt {
-       color : #404040;
-       cursor : pointer;
-       margin-top : 5px;
-}
-
-#headlines ul#headlines-content div.content {
-       color : #404040;
-}
-
-#headlines ul#headlines-content div.content img {
-       max-width : 75%;
-}
-
-#headlines ul#headlines-content div.body {
-       margin-left : 21px;
-       /*margin-left : 42px;*/
-}
-
-#headlines ul#headlines-content div.info {
-       font-size : 11px;
-       margin-top : 5px;
-}
-
-#headlines ul#headlines-content div.info a {
-       color : gray;
-}
-
-#overlay {
-       background : white;
-       left : 0;
-       top : 0;
-       height : 100%;
-       width : 100%;
-       z-index : 100;
-       position : absolute;
-       text-align : center;
-}
-
-#overlay_inner {
-       margin : 1em;
-}
-
-#overlay img {
-       vertical-align : middle;
-}
-
-div.fatalError button {
-       margin-top : 5px;
-}
-
-div.fatalError textarea {
-       width : 100%;
-       height : 100px;
-}
-
-div.insensitive {
-       color : gray;
-}
-
-
diff --git a/plugins/example/example.js b/plugins/example/example.js
deleted file mode 100644 (file)
index a31f2c2..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-function example(value) {
-       alert("Value saved: " + value);
-}
diff --git a/plugins/example/init.php b/plugins/example/init.php
deleted file mode 100644 (file)
index 67f5027..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-class Example extends Plugin {
-
-       // Demonstrates how to add a separate panel to the preferences screen and inject Javascript/save data using Dojo forms.
-       private $host;
-
-       function about() {
-               return array(1.0,
-                       "Example plugin #1",
-                       "fox",
-                       true,
-                       "http://site.com");
-       }
-
-       function init($host) {
-               $this->host = $host;
-
-               $host->add_hook($host::HOOK_PREFS_TAB, $this);
-       }
-
-       function save() {
-               $example_value = db_escape_string($_POST["example_value"]);
-
-               $this->host->set($this, "example", $example_value);
-
-               echo "Value set to $example_value";
-       }
-
-       function get_prefs_js() {
-               return file_get_contents(dirname(__FILE__) . "/example.js");
-       }
-
-       function hook_prefs_tab($args) {
-               if ($args != "prefPrefs") return;
-
-               print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__("Example Pane")."\">";
-
-               print "<br/>";
-
-//             print_r($this->host->set($this, "example", rand(0,100)));
-//             print_r($this->host->get_all($this));
-
-               $value = $this->host->get($this, "example");
-
-               print "<form dojoType=\"dijit.form.Form\">";
-
-               print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">
-                       evt.preventDefault();
-                       if (this.validate()) {
-                               console.log(dojo.objectToQuery(this.getValues()));
-                               new Ajax.Request('backend.php', {
-                                       parameters: dojo.objectToQuery(this.getValues()),
-                                       onComplete: function(transport) {
-                                               notify_info(transport.responseText);
-                                       }
-                               });
-                               //this.reset();
-                       }
-                       </script>";
-
-                       print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pluginhandler\">";
-                       print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"save\">";
-                       print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"plugin\" value=\"example\">";
-
-               print "<table width=\"100%\" class=\"prefPrefsList\">";
-
-                       print "<tr><td width=\"40%\">".__("Sample value")."</td>";
-                       print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" name=\"example_value\" value=\"$value\"></td></tr>";
-
-                       print "</table>";
-
-                       print "<p><button dojoType=\"dijit.form.Button\" type=\"submit\">".
-                               __("Set value")."</button>";
-
-                       print "</form>";
-
-               print "</div>"; #pane
-       }
-
-       function api_version() {
-               return 2;
-       }
-
-}
-?>
diff --git a/plugins/example_api/init.php b/plugins/example_api/init.php
deleted file mode 100644 (file)
index 1f896ba..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-class Example_Api extends Plugin {
-
-       // Demonstrates adding a method to the API
-       // Plugin methods return an array containint
-       // 1. status (STATUS_OK or STATUS_ERR)
-       // 2. arbitrary payload
-
-       private $host;
-
-       function about() {
-               return array(1.0,
-                       "Example plugin adding an API method",
-                       "fox",
-                       true,
-                       "http://tt-rss.org/");
-       }
-
-       function init($host) {
-               $this->host = $host;
-
-               $host->add_api_method("example_testmethod", $this);
-       }
-
-       function example_testmethod() {
-               return array(API::STATUS_OK, array("current_time" => time()));
-       }
-
-       function api_version() {
-               return 2;
-       }
-
-}
-?>
diff --git a/plugins/example_article/init.js b/plugins/example_article/init.js
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/plugins/example_article/init.php b/plugins/example_article/init.php
deleted file mode 100644 (file)
index 69902cb..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-class Example_Article extends Plugin {
-
-       private $host;
-
-       function about() {
-               return array(1.0,
-                       "Example plugin for HOOK_RENDER_ARTICLE",
-                       "fox",
-                       true);
-       }
-
-       function init($host) {
-               $this->host = $host;
-
-               $host->add_hook($host::HOOK_RENDER_ARTICLE, $this);
-       }
-
-       function get_prefs_js() {
-               return file_get_contents(dirname(__FILE__) . "/init.js");
-       }
-
-       function hook_render_article($article) {
-               $article["content"] = "Content changed: " . $article["content"];
-
-               return $article;
-       }
-
-       function api_version() {
-               return 2;
-       }
-
-}
-?>
diff --git a/plugins/example_feed/init.php b/plugins/example_feed/init.php
deleted file mode 100644 (file)
index 1d653a9..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-class Example_Feed extends Plugin {
-
-       // Demonstrates how to query data from the parsed feed object (SimplePie)
-       // don't enable unless debugging feed through f D hotkey or manually.
-
-       private $host;
-
-       function about() {
-               return array(1.0,
-                       "Example feed plugin",
-                       "fox",
-                       true);
-       }
-
-       function init($host) {
-               $this->host = $host;
-
-               $host->add_hook($host::HOOK_FEED_PARSED, $this);
-       }
-
-       function hook_feed_parsed($feed) {
-               _debug("I'm a little feed short and stout, here's my title: " . $feed->get_title());
-               _debug("... here's my link element: " . $feed->get_link());
-       }
-
-       function api_version() {
-               return 2;
-       }
-
-}
-?>
diff --git a/plugins/example_routing/init.php b/plugins/example_routing/init.php
deleted file mode 100644 (file)
index a7b19d7..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-class Example_Routing extends Plugin implements IHandler {
-
-       // Demonstrates adding a custom handler and method:
-       // backend.php?op=test&method=example
-       // and masking a system builtin public method:
-       // public.php?op=getUnread
-
-       // Plugin class must implelement IHandler interface and has
-       // a public method of same name as being registered.
-       //
-       // Any system method may be masked by plugins. You can mask
-       // entire handler by supplying "*" instead of a method name.
-
-       private $host;
-
-       function about() {
-               return array(1.0,
-                       "Example routing plugin",
-                       "fox",
-                       true);
-       }
-
-       function init($host) {
-               $this->host = $host;
-
-               $host->add_handler("test", "example", $this);
-               $host->add_handler("public", "getunread", $this);
-       }
-
-       function getunread() {
-               print rand(0,100); # yeah right
-       }
-
-       function example() {
-               print "example method called";
-       }
-
-       function csrf_ignore($method) {
-               return true;
-       }
-
-       function before($method) {
-               return true;
-       }
-
-       function after() {
-               return true;
-       }
-
-       function api_version() {
-               return 2;
-       }
-
-}
-?>
diff --git a/plugins/example_vfeed/init.php b/plugins/example_vfeed/init.php
deleted file mode 100644 (file)
index 3107619..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-class Example_VFeed extends Plugin {
-
-       // Demonstrates how to create a dummy special feed and chain
-       // headline generation to queryFeedHeadlines();
-
-       // Not implemented yet: stuff for 3 panel mode
-
-       private $host;
-       private $dummy_id;
-
-       function about() {
-               return array(1.0,
-                       "Example vfeed plugin",
-                       "fox",
-                       false);
-       }
-
-       function init($host) {
-               $this->host = $host;
-
-               $this->dummy_id = $host->add_feed(-1, 'Dummy feed', 'images/pub_set.svg', $this);
-       }
-
-       function get_unread($feed_id) {
-               return 1234;
-       }
-
-       function get_headlines($feed_id, $options) {
-               $qfh_ret = queryFeedHeadlines(-4,
-                       $options['limit'],
-                       $options['view_mode'], $options['cat_view'],
-                       $options['search'],
-                       $options['search_mode'],
-                       $options['override_order'],
-                       $options['offset'],
-                       $options['owner_uid'],
-                       $options['filter'],
-                       $options['since_id'],
-                       $options['include_children']);
-
-               $qfh_ret[1] = 'Dummy feed';
-
-               return $qfh_ret;
-       }
-
-       function api_version() {
-               return 2;
-       }
-
-}
-?>
index c8e7d7a3839d0ef218f13e3c473e61037ff45a2a..a8b7069db9b1f7c6cf4b6d18513a971d8e2598d9 100644 (file)
@@ -23,6 +23,9 @@ class GoogleReaderKeys extends Plugin {
                $hotkeys["v"]           = "open_in_new_window";
                $hotkeys["r"]           = "feed_refresh";
                $hotkeys["m"]           = "toggle_unread";
+               $hotkeys["o"]           = "toggle_expand";
+               $hotkeys["(13)|enter"]  = "toggle_expand";
+               $hotkeys["*(191)|?"]    = "help_dialog";
                $hotkeys["(32)|space"]  = "next_article";
                $hotkeys["(38)|up"]     = "article_scroll_up";
                $hotkeys["(40)|down"]   = "article_scroll_down";
index 15c7dea9b3d6ba0ea6f5147b41fc911ba3ef1aaf..d4bdec826a83f1bf71179090a313842156165714 100644 (file)
@@ -57,9 +57,9 @@ class Import_Export extends Plugin implements IHandler {
 
                print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Import and export')."\">";
 
-               print "<h3>" . __("Article archive") . "</h3>";
+               print_notice(__("You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version."));
 
-               print "<p>" . __("You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances.") . "</p>";
+               print "<p>";
 
                print "<button dojoType=\"dijit.form.Button\" onclick=\"return exportData()\">".
                        __('Export my data')."</button> ";
@@ -82,6 +82,8 @@ class Import_Export extends Plugin implements IHandler {
 
                print "</form>";
 
+               print "</p>";
+
                print "</div>"; # pane
        }
 
diff --git a/plugins/mobile/article.php b/plugins/mobile/article.php
deleted file mode 100644 (file)
index 64768c9..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-       error_reporting(E_ERROR | E_WARNING | E_PARSE);
-
-       header('Content-Type: text/html; charset=utf-8');
-
-       define('MOBILE_VERSION', true);
-
-       $basedir = dirname(dirname(dirname(__FILE__)));
-
-       set_include_path(
-               dirname(__FILE__) . PATH_SEPARATOR .
-               $basedir . PATH_SEPARATOR .
-               "$basedir/include" . PATH_SEPARATOR .
-               get_include_path());
-
-       require_once "config.php";
-       require_once "mobile-functions.php";
-
-       login_sequence(true);
-
-       $id = db_escape_string($_REQUEST["id"]);
-       $feed_id = db_escape_string($_REQUEST["feed"]);
-       $cat_id = db_escape_string($_REQUEST["cat"]);
-       $is_cat = db_escape_string($_REQUEST["is_cat"]);
-
-       render_article($id, $feed_id, $cat_id, $is_cat);
-?>
-
diff --git a/plugins/mobile/backend.php b/plugins/mobile/backend.php
deleted file mode 100644 (file)
index 4065dc2..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-       error_reporting(E_ERROR | E_WARNING | E_PARSE);
-
-       header('Content-Type: text/html; charset=utf-8');
-
-       $basedir = dirname(dirname(dirname(__FILE__)));
-
-       set_include_path(
-               dirname(__FILE__) . PATH_SEPARATOR .
-               $basedir . PATH_SEPARATOR .
-               "$basedir/include" . PATH_SEPARATOR .
-               get_include_path());
-
-       define('MOBILE_VERSION', true);
-
-       require_once "config.php";
-       require_once "mobile-functions.php";
-
-       require_once "functions.php";
-       require_once "sessions.php";
-       require_once "version.php";
-       require_once "db-prefs.php";
-
-       if (!$_SESSION["uid"]) return;
-
-       $op = $_REQUEST["op"];
-
-       switch ($op) {
-       case "toggleMarked":
-               $cmode = db_escape_string($_REQUEST["mark"]);
-               $id = db_escape_string($_REQUEST["id"]);
-
-               markArticlesById(array($id), $cmode);
-               break;
-       case "togglePublished":
-               $cmode = db_escape_string($_REQUEST["pub"]);
-               $id = db_escape_string($_REQUEST["id"]);
-
-               publishArticlesById(array($id), $cmode);
-               break;
-       case "toggleUnread":
-               $cmode = db_escape_string($_REQUEST["unread"]);
-               $id = db_escape_string($_REQUEST["id"]);
-
-               catchupArticlesById(array($id), $cmode);
-               break;
-
-       case "setPref":
-               $id = db_escape_string($_REQUEST["id"]);
-               $value = db_escape_string($_REQUEST["to"]);
-               mobile_set_pref($id, $value);
-               print_r($_SESSION);
-               break;
-       default:
-               print json_encode(array("error", "UNKNOWN_METHOD"));
-               break;
-       }
-?>
-
diff --git a/plugins/mobile/cat.php b/plugins/mobile/cat.php
deleted file mode 100644 (file)
index 21d0455..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-       error_reporting(E_ERROR | E_WARNING | E_PARSE);
-
-       header('Content-Type: text/html; charset=utf-8');
-
-       define('MOBILE_VERSION', true);
-
-       $basedir = dirname(dirname(dirname(__FILE__)));
-
-       set_include_path(
-               dirname(__FILE__) . PATH_SEPARATOR .
-               $basedir . PATH_SEPARATOR .
-               "$basedir/include" . PATH_SEPARATOR .
-               get_include_path());
-
-       require_once "config.php";
-       require_once "mobile-functions.php";
-
-       login_sequence(true);
-
-       $cat_id = db_escape_string($_REQUEST["id"]);
-
-       render_category($cat_id);
-?>
-
diff --git a/plugins/mobile/feed.php b/plugins/mobile/feed.php
deleted file mode 100644 (file)
index 345026e..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-       error_reporting(E_ERROR | E_WARNING | E_PARSE);
-
-       header('Content-Type: text/html; charset=utf-8');
-
-       define('MOBILE_VERSION', true);
-
-       $basedir = dirname(dirname(dirname(__FILE__)));
-
-       set_include_path(
-               dirname(__FILE__) . PATH_SEPARATOR .
-               $basedir . PATH_SEPARATOR .
-               "$basedir/include" . PATH_SEPARATOR .
-               get_include_path());
-
-       require_once "config.php";
-       require_once "mobile-functions.php";
-
-       login_sequence(true);
-
-       $feed_id = db_escape_string($_REQUEST["id"]);
-       $cat_id = db_escape_string($_REQUEST["cat"]);
-       $offset = (int) db_escape_string($_REQUEST["skip"]);
-       $search = db_escape_string($_REQUEST["search"]);
-       $is_cat = (bool) db_escape_string($_REQUEST["is_cat"]);
-
-       render_headlines_list($feed_id, $cat_id, $offset, $search, $is_cat);
-?>
-
diff --git a/plugins/mobile/home.php b/plugins/mobile/home.php
deleted file mode 100644 (file)
index 3039635..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-       error_reporting(E_ERROR | E_WARNING | E_PARSE);
-
-       header('Content-Type: text/html; charset=utf-8');
-
-       define('MOBILE_VERSION', true);
-
-       $basedir = dirname(dirname(dirname(__FILE__)));
-
-       set_include_path(
-               dirname(__FILE__) . PATH_SEPARATOR .
-               $basedir . PATH_SEPARATOR .
-               "$basedir/include" . PATH_SEPARATOR .
-               get_include_path());
-
-       require_once "config.php";
-       require_once "mobile-functions.php";
-
-       login_sequence(true);
-
-       $use_cats = mobile_get_pref('ENABLE_CATS');
-       $offset = (int) db_escape_string($_REQUEST["skip"]);
-
-       if ($use_cats) {
-               render_categories_list($link);
-       } else {
-               render_flat_feed_list($offset);
-       }
-?>
diff --git a/plugins/mobile/index.php b/plugins/mobile/index.php
deleted file mode 100644 (file)
index 9e9c339..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-       error_reporting(E_ERROR | E_WARNING | E_PARSE);
-
-       header('Content-Type: text/html; charset=utf-8');
-
-       define('MOBILE_VERSION', true);
-
-       $basedir = dirname(dirname(dirname(__FILE__)));
-
-       set_include_path(
-               dirname(__FILE__) . PATH_SEPARATOR .
-               $basedir . PATH_SEPARATOR .
-               "$basedir/include" . PATH_SEPARATOR .
-               get_include_path());
-
-       require_once "config.php";
-       require_once "mobile-functions.php";
-
-       login_sequence(true);
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Tiny Tiny RSS</title>
-<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
-<link rel="apple-touch-icon" href="iui/iui-logo-touch-icon.png" />
-<meta name="apple-touch-fullscreen" content="YES" />
-<style type="text/css" media="screen">@import "iui/iui.css";</style>
-<script type="application/x-javascript" src="iui/iui.js"></script>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-<script type="text/javascript" src="../../lib/prototype.js"></script>
-<script type="text/javascript" src="mobile.js"></script>
-<style type="text/css" media="screen">@import "mobile.css";</style>
-</head>
-
-<style type="text/css">
-       img { max-width : 75%; }
-
-       li.oldItem {
-               color : gray;
-       }
-
-       #myBackButton {
-           display: none;
-           left: 6px;
-           right: auto;
-           padding: 0;
-           max-width: 55px;
-           border-width: 0 8px 0 14px;
-           -webkit-border-image: url(iui/backButton.png) 0 8 0 14;
-       }
-
-       img.tinyIcon {
-               max-width : 16px;
-               max-height : 16px;
-               margin-right : 10px;
-               vertical-align : middle;
-       }
-
-       a img {
-               border-width : 0px;
-       }
-</style>
-
-<body>
-    <div class="toolbar">
-        <h1 id="pageTitle"></h1>
-                 <a id="myBackButton" class="button" href="#"></a>
-        <a class="button" href="prefs.php">Preferences</a>
-    </div>
-
-       <?php
-       $use_cats = mobile_get_pref('ENABLE_CATS');
-       $offset = (int) db_escape_string($_REQUEST["skip"]);
-
-       if ($use_cats) {
-               render_categories_list($link);
-       } else {
-               render_flat_feed_list($offset);
-       }
-       ?>
-
-</body>
-</html>
diff --git a/plugins/mobile/init.php b/plugins/mobile/init.php
deleted file mode 100644 (file)
index 1a59fe3..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-class Mobile extends Plugin implements IHandler {
-       private $host;
-
-       function about() {
-               return array(1.0,
-                       "Classic mobile version for tt-rss (unsupported)",
-                       "fox",
-                       true);
-       }
-
-       function init($host) {
-               $this->host = $host;
-
-               $host->add_handler("mobile", "index", $this);
-       }
-
-       function index() {
-               header("Content-type: text/html; charset=utf-8");
-
-               header("Location: plugins/mobile/index.php");
-       }
-
-       /* function get_js() {
-               return file_get_contents(dirname(__FILE__) . "/digest.js");
-       } */
-
-       function csrf_ignore($method) {
-               return true; //in_array($method, array("index"));
-       }
-
-       function before($method) {
-               return true;
-       }
-
-       function after() {
-
-       }
-
-       function api_version() {
-               return 2;
-       }
-
-}
-?>
diff --git a/plugins/mobile/iui/LICENSE.txt b/plugins/mobile/iui/LICENSE.txt
deleted file mode 100644 (file)
index c9d2a0d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-Copyright (c) 2007-2009, iUI Project Members
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-    * Neither the name of the iUI Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/plugins/mobile/iui/NOTICE.txt b/plugins/mobile/iui/NOTICE.txt
deleted file mode 100644 (file)
index 3a23f56..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-NOTICE.txt - iUI credits and copyright notices
-
-   iUI is Copyright (c) 2007-2009 by the iUI project members: 
-           M. Sean Gilligan (msgilligan)
-       Past members:    
-           Joe  Hewitt (joehewitt)
-           Christopher Allen (ChristopherA)
-
-CREDITS
-       schlueter - committed fixes for issues #9, #11, #63 -- added samples
-       ???       - created iUI icon
-       kris.tate - named it "iUI", created Google Code project, initial checkin
-       others    - let us know if we missed you
-       iUI users - thanks for your patience, feedback, and bug reports
-
-THIRD PARTY COMPONENTS
-
-   * iUI includes software developed by the Mozilla Project
-        Copyright (c) 1997-2007, Netscape Communications Corporation and others.
-        All rights reserved.
-        http://www.mozilla.org/rhino/
-
-   * iUI includes software developed by the Dojo Foundation
-        http://dojotoolkit.org/docs/shrinksafe
-
-   * iUI includes software developed by LCA Soft  Ltd.
-        http://www.lcasoft.com/compress-js.html
-
-   * iUI includes software developed by the ant-googlcode Project
-        http://code.google.com/p/ant-googlecode/
-
-
-
diff --git a/plugins/mobile/iui/backButton.png b/plugins/mobile/iui/backButton.png
deleted file mode 100644 (file)
index e27ea8c..0000000
Binary files a/plugins/mobile/iui/backButton.png and /dev/null differ
diff --git a/plugins/mobile/iui/blueButton.png b/plugins/mobile/iui/blueButton.png
deleted file mode 100644 (file)
index 0f92dfd..0000000
Binary files a/plugins/mobile/iui/blueButton.png and /dev/null differ
diff --git a/plugins/mobile/iui/cancel.png b/plugins/mobile/iui/cancel.png
deleted file mode 100644 (file)
index 5f6dcc8..0000000
Binary files a/plugins/mobile/iui/cancel.png and /dev/null differ
diff --git a/plugins/mobile/iui/grayButton.png b/plugins/mobile/iui/grayButton.png
deleted file mode 100644 (file)
index 0ce6a30..0000000
Binary files a/plugins/mobile/iui/grayButton.png and /dev/null differ
diff --git a/plugins/mobile/iui/iui-logo-touch-icon.png b/plugins/mobile/iui/iui-logo-touch-icon.png
deleted file mode 100644 (file)
index 8817b30..0000000
Binary files a/plugins/mobile/iui/iui-logo-touch-icon.png and /dev/null differ
diff --git a/plugins/mobile/iui/iui.css b/plugins/mobile/iui/iui.css
deleted file mode 100644 (file)
index 3933dba..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-/* iui.css (c) 2007-9 by iUI Project Members, see LICENSE.txt for license */
-body {
-    margin: 0;
-    font-family: Helvetica;
-    background: #FFFFFF;
-    color: #000000;
-    overflow-x: hidden;
-    -webkit-user-select: none;
-    -webkit-text-size-adjust: none;
-}
-
-body > *:not(.toolbar) {
-    display: none;
-    position: absolute;
-    margin: 0;
-    padding: 0;
-    left: 0;
-    top: 45px;
-    width: 100%;
-    min-height: 372px;
-    -webkit-transition-duration: 300ms;
-    -webkit-transition-property: -webkit-transform;
-    -webkit-transform: translateX(0%);
-}
-
-body[orient="landscape"] > *:not(.toolbar) {
-    min-height: 268px;
-}
-
-body > *[selected="true"] {
-    display: block;
-}
-
-a[selected], a:active {
-    background-color: #194fdb !important;
-    background-image: url(listArrowSel.png), url(selection.png) !important;
-    background-repeat: no-repeat, repeat-x;
-    background-position: right center, left top;
-    color: #FFFFFF !important;
-}
-
-a[selected="progress"] {
-    background-image: url(loading.gif), url(selection.png) !important;
-}
-
-/************************************************************************************************/
-
-body > .toolbar {
-    box-sizing: border-box;
-    -moz-box-sizing: border-box;
-    -webkit-box-sizing: border-box;
-    border-bottom: 1px solid #2d3642;
-    border-top: 1px solid #6d84a2;
-    padding: 10px;
-    height: 45px;
-    background: url(toolbar.png) #6d84a2 repeat-x;
-}
-
-.toolbar > h1 {
-    position: absolute;
-    overflow: hidden;
-    left: 50%;
-    margin: 1px 0 0 -75px;
-    height: 45px;
-    font-size: 20px;
-    width: 150px;
-    font-weight: bold;
-    text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
-    text-align: center;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-    color: #FFFFFF;
-}
-
-body[orient="landscape"] > .toolbar > h1 {
-    margin-left: -125px;
-    width: 250px;
-}
-
-.button {
-    position: absolute;
-    overflow: hidden;
-    top: 8px;
-    right: 6px;
-    margin: 0;
-    border-width: 0 5px;
-    padding: 0 3px;
-    width: auto;
-    height: 30px;
-    line-height: 30px;
-    font-family: inherit;
-    font-size: 12px;
-    font-weight: bold;
-    color: #FFFFFF;
-    text-shadow: rgba(0, 0, 0, 0.6) 0px -1px 0;
-    text-overflow: ellipsis;
-    text-decoration: none;
-    white-space: nowrap;
-    background: none;
-    -webkit-border-image: url(toolButton.png) 0 5 0 5;
-}
-
-.blueButton {
-    -webkit-border-image: url(blueButton.png) 0 5 0 5;
-    border-width: 0 5px;
-}
-
-.leftButton {
-    left: 6px;
-    right: auto;
-}
-
-#backButton {
-    display: none;
-    left: 6px;
-    right: auto;
-    padding: 0;
-    max-width: 55px;
-    border-width: 0 8px 0 14px;
-    -webkit-border-image: url(backButton.png) 0 8 0 14;
-}
-
-.whiteButton,
-.redButton,
-.grayButton {
-    display: block;
-    border-width: 0 12px;
-    padding: 10px;
-    text-align: center;
-    font-size: 20px;
-    font-weight: bold;
-    text-decoration: inherit;
-    color: inherit;
-}
-
-.whiteButton {
-    -webkit-border-image: url(whiteButton.png) 0 12 0 12;
-    text-shadow: rgba(255, 255, 255, 0.7) 0 1px 0;
-}
-
-.redButton {
-    -webkit-border-image: url(redButton.png) 0 12 0 12;
-    color:#fff;
-    text-shadow: #7a0001 0 -1px 0;
-}
-
-.grayButton {
-    -webkit-border-image: url(grayButton.png) 0 12 0 12;
-    color: #FFFFFF;
-}
-
-/************************************************************************************************/
-
-body > ul > li {
-    position: relative;
-    margin: 0;
-    border-bottom: 1px solid #E0E0E0;
-    padding: 8px 0 8px 10px;
-    font-size: 20px;
-    font-weight: bold;
-    list-style: none;
-}
-
-body > ul > li.group {
-    position: relative;
-    top: -1px;
-    margin-bottom: -2px;
-    border-top: 1px solid #7d7d7d;
-    border-bottom: 1px solid #999999;
-    padding: 1px 10px;
-    background: url(listGroup.png) repeat-x;
-    font-size: 17px;
-    font-weight: bold;
-    text-shadow: rgba(0, 0, 0, 0.4) 0 1px 0;
-    color: #FFFFFF;
-}
-
-body > ul > li.group:first-child {
-    top: 0;
-    border-top: none;
-}
-
-body > ul > li > a {
-    display: block;
-    margin: -8px 0 -8px -10px;
-    padding: 8px 32px 8px 10px;
-    text-decoration: none;
-    color: inherit;
-    background: url(listArrow.png) no-repeat right center;
-}
-
-a[target="_replace"] {
-    box-sizing: border-box;
-    -webkit-box-sizing: border-box;
-    padding-top: 25px;
-    padding-bottom: 25px;
-    font-size: 18px;
-    color: cornflowerblue;
-    background-color: #FFFFFF;
-    background-image: none;
-}
-
-/************************************************************************************************/
-    
-body > .dialog {
-    top: 0;
-    width: 100%;
-    min-height: 417px;
-    z-index: 2;
-    background: rgba(0, 0, 0, 0.8);
-    padding: 0;
-    text-align: right;
-}
-
-.dialog > fieldset {
-    box-sizing: border-box;
-    -webkit-box-sizing: border-box;
-    width: 100%;
-    margin: 0;
-    border: none;
-    border-top: 1px solid #6d84a2;
-    padding: 10px 6px;
-    background: url(toolbar.png) #7388a5 repeat-x;
-}
-
-.dialog > fieldset > h1 {
-    margin: 0 10px 0 10px;
-    padding: 0;
-    font-size: 20px;
-    font-weight: bold;
-    color: #FFFFFF;
-    text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
-    text-align: center;
-}
-
-.dialog > fieldset > label {
-    position: absolute;
-    margin: 16px 0 0 6px;
-    font-size: 14px;
-    color: #999999;
-}
-
-/*input:not(input[type|=radio]):not(input[type|=checkbox]) {*/
-input[type|=text], input[type|=password] {
-    box-sizing: border-box;
-    -webkit-box-sizing: border-box;
-    width: 100%;
-    margin: 8px 0 0 0;
-    padding: 6px 6px 6px 44px;
-    font-size: 16px;
-    font-weight: normal;
-}
-
-/************************************************************************************************/
-
-body > .panel {
-    box-sizing: border-box;
-    -moz-box-sizing: border-box;
-    -webkit-box-sizing: border-box;
-    padding: 10px;
-    background: #c8c8c8 url(pinstripes.png);
-}
-
-.panel > fieldset {
-    position: relative;
-    margin: 0 0 20px 0;
-    padding: 0;
-    background: #FFFFFF;
-    -webkit-border-radius: 10px;
-    -moz-border-radius: 10px;
-    border: 1px solid #999999;
-    text-align: right;
-    font-size: 16px;
-}
-
-.row  {
-    position: relative;
-    min-height: 42px;
-    border-bottom: 1px solid #999999;
-    -webkit-border-radius: 0;
-    text-align: left;
-}
-
-fieldset > .row:last-child {
-    border-bottom: none !important;
-}
-
-/*.row > input:not(input[type|=radio]):not(input[type|=checkbox]) {*/
-.row > input[type|=text], .row > input[type|=password] {
-    box-sizing: border-box;
-    -moz-box-sizing: border-box;
-    -webkit-box-sizing: border-box;
-    margin: 0;
-    border: none;
-    padding: 12px 10px 0 110px;
-/*    height: 42px;*/
-    background: none;
-}
-.row > input[type|=radio], .row > input[type|=checkbox] {
-  margin: 7px 7px 0 0;
-  height: 25px;
-  width: 25px;
-}
-
-.row > label {
-    position: absolute;
-    margin: 0 0 0 14px;
-    line-height: 42px;
-    font-weight: bold;
-}
-
-.row > span {
-    position: absolute;
-    padding: 12px 10px 0 110px;
-    margin: 0;
-}
-
-.row > .toggle {
-    position: absolute;
-    top: 6px;
-    right: 6px;
-    width: 100px;
-    height: 28px;
-}
-
-.toggle {
-    border: 1px solid #888888;
-    -webkit-border-radius: 6px;
-    background: #FFFFFF url(toggle.png) repeat-x;
-    font-size: 19px;
-    font-weight: bold;
-    line-height: 30px;
-}
-
-.toggle[toggled="true"] {
-    border: 1px solid #143fae;
-    background: #194fdb url(toggleOn.png) repeat-x;
-}
-
-.toggleOn {
-    display: none;
-    position: absolute;
-    width: 60px;
-    text-align: center;
-    left: 0;
-    top: 0;
-    color: #FFFFFF;
-    text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
-}
-
-.toggleOff {
-    position: absolute;
-    width: 60px;
-    text-align: center;
-    right: 0;
-    top: 0;
-    color: #666666;
-}
-
-.toggle[toggled="true"] > .toggleOn {
-    display: block;
-}
-
-.toggle[toggled="true"] > .toggleOff {
-    display: none;
-}
-
-.thumb {
-    position: absolute;
-    top: -1px;
-    left: -1px;
-    width: 40px;
-    height: 28px;    
-    border: 1px solid #888888;
-    -webkit-border-radius: 6px;
-    background: #ffffff url(thumb.png) repeat-x;
-}
-
-.toggle[toggled="true"] > .thumb {
-    left: auto;
-    right: -1px;
-}
-
-.panel > h2 {
-    margin: 0 0 8px 14px;
-    font-size: inherit;
-    font-weight: bold;
-    color: #4d4d70;
-    text-shadow: rgba(255, 255, 255, 0.75) 2px 2px 0;
-}
-
-/************************************************************************************************/
-
-#preloader {
-    display: none;
-    background-image: url(loading.gif), url(selection.png),
-        url(blueButton.png), url(listArrowSel.png), url(listGroup.png);
-}
diff --git a/plugins/mobile/iui/iui.js b/plugins/mobile/iui/iui.js
deleted file mode 100644 (file)
index 0937afe..0000000
+++ /dev/null
@@ -1,542 +0,0 @@
-/*
-   Copyright (c) 2007-9, iUI Project Members
-   See LICENSE.txt for licensing terms
- */
-
-
-(function() {
-
-var slideSpeed = 20;
-var slideInterval = 0;
-
-var currentPage = null;
-var currentDialog = null;
-var currentWidth = 0;
-var currentHash = location.hash;
-var hashPrefix = "#_";
-var pageHistory = [];
-var newPageCount = 0;
-var checkTimer;
-var hasOrientationEvent = false;
-var portraitVal = "portrait";
-var landscapeVal = "landscape";
-
-// *************************************************************************************************
-
-window.iui =
-{
-       animOn: true,   // Slide animation with CSS transition is now enabled by default where supported
-
-       showPage: function(page, backwards)
-       {
-               if (page)
-               {
-                       if (currentDialog)
-                       {
-                               currentDialog.removeAttribute("selected");
-                               currentDialog = null;
-                       }
-
-                       if (hasClass(page, "dialog"))
-                               showDialog(page);
-                       else
-                       {
-                               var fromPage = currentPage;
-                               currentPage = page;
-
-                               if (fromPage)
-                                       setTimeout(slidePages, 0, fromPage, page, backwards);
-                               else
-                                       updatePage(page, fromPage);
-                       }
-               }
-       },
-
-       showPageById: function(pageId)
-       {
-               var page = $(pageId);
-               if (page)
-               {
-                       var index = pageHistory.indexOf(pageId);
-                       var backwards = index != -1;
-                       if (backwards)
-                               pageHistory.splice(index, pageHistory.length);
-
-                       iui.showPage(page, backwards);
-               }
-       },
-
-       showPageByHref: function(href, args, method, replace, cb, bw)
-       {
-               var req = new XMLHttpRequest();
-               req.onerror = function()
-               {
-                       if (cb)
-                               cb(false);
-               };
-               
-               req.onreadystatechange = function()
-               {
-                       if (req.readyState == 4)
-                       {
-                               if (replace)
-                                       replaceElementWithSource(replace, req.responseText);
-                               else
-                               {
-                                       var frag = document.createElement("div");
-                                       frag.innerHTML = req.responseText;
-                                       iui.insertPages(frag.childNodes, bw);
-                               }
-                               if (cb)
-                                       setTimeout(cb, 1000, true);
-                       }
-               };
-
-               if (args)
-               {
-                       req.open(method || "GET", href, true);
-                       req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
-                       req.setRequestHeader("Content-Length", args.length);
-                       req.send(args.join("&"));
-               }
-               else
-               {
-                       req.open(method || "GET", href, true);
-                       req.send(null);
-               }
-       },
-       
-       insertPages: function(nodes, bw)
-       {
-               var targetPage;
-               for (var i = 0; i < nodes.length; ++i)
-               {
-                       var child = nodes[i];
-                       if (child.nodeType == 1)
-                       {
-                               if (!child.id)
-                                       child.id = "__" + (++newPageCount) + "__";
-
-                               var clone = $(child.id);
-                               if (clone)
-                                       clone.parentNode.replaceChild(child, clone);
-                               else
-                                       document.body.appendChild(child);
-
-                               if (child.getAttribute("selected") == "true" || !targetPage)
-                                       targetPage = child;
-                               
-                               --i;
-                       }
-               }
-
-               if (targetPage)
-                       iui.showPage(targetPage, bw);    
-       },
-
-       getSelectedPage: function()
-       {
-               for (var child = document.body.firstChild; child; child = child.nextSibling)
-               {
-                       if (child.nodeType == 1 && child.getAttribute("selected") == "true")
-                               return child;
-               }        
-       },
-       isNativeUrl: function(href)
-       {
-               for(var i = 0; i < iui.nativeUrlPatterns.length; i++)
-               {
-                       if(href.match(iui.nativeUrlPatterns[i])) return true;
-               }
-               return false;
-       },
-       nativeUrlPatterns: [
-               new RegExp("^http:\/\/maps.google.com\/maps\?"),
-               new RegExp("^mailto:"),
-               new RegExp("^tel:"),
-               new RegExp("^http:\/\/www.youtube.com\/watch\\?v="),
-               new RegExp("^http:\/\/www.youtube.com\/v\/"),
-               new RegExp("^javascript:"),
-
-       ]
-};
-
-// *************************************************************************************************
-
-addEventListener("load", function(event)
-{
-       var page = iui.getSelectedPage();
-       var locPage = getPageFromLoc();
-               
-       if (page)
-                       iui.showPage(page);
-       
-       if (locPage && (locPage != page))
-               iui.showPage(locPage);
-       
-       setTimeout(preloadImages, 0);
-       if (typeof window.onorientationchange == "object")
-       {
-               window.onorientationchange=orientChangeHandler;
-               hasOrientationEvent = true;
-               setTimeout(orientChangeHandler, 0);
-       }
-       setTimeout(checkOrientAndLocation, 0);
-       checkTimer = setInterval(checkOrientAndLocation, 300);
-}, false);
-
-addEventListener("unload", function(event)
-{
-       return;
-}, false);
-       
-addEventListener("click", function(event)
-{
-       var link = findParent(event.target, "a");
-       if (link)
-       {
-               function unselect() { link.removeAttribute("selected"); }
-               
-               if (link.href && link.hash && link.hash != "#" && !link.target)
-               {
-                       link.setAttribute("selected", "true");
-                       iui.showPage($(link.hash.substr(1)));
-                       setTimeout(unselect, 500);
-               }
-               else if (link == $("backButton"))
-                       history.back();
-               else if (link.getAttribute("type") == "submit")
-               {
-                       var form = findParent(link, "form");
-                       if (form.target == "_self")
-                       {
-                           form.submit();
-                           return;  // return so we don't preventDefault
-                       }
-                       submitForm(form);
-               }
-               else if (link.getAttribute("type") == "cancel")
-                       cancelDialog(findParent(link, "form"));
-               else if (link.target == "_replace")
-               {
-                       link.setAttribute("selected", "progress");
-                       iui.showPageByHref(link.href, null, null, link, unselect);
-               }
-               else if (iui.isNativeUrl(link.href))
-               {
-                       return;
-               }
-               else if (link.target == "_webapp")
-               {
-                       location.href = link.href;
-               }
-               else if (!link.target)
-               {
-                       link.setAttribute("selected", "progress");
-                       var bw = link.getAttribute("backwards");
-                       iui.showPageByHref(link.href, null, null, null, unselect, bw);
-               }
-               else
-                       return;
-               
-               event.preventDefault();            
-       }
-}, true);
-
-addEventListener("click", function(event)
-{
-       var div = findParent(event.target, "div");
-       if (div && hasClass(div, "toggle"))
-       {
-               div.setAttribute("toggled", div.getAttribute("toggled") != "true");
-               event.preventDefault();            
-       }
-}, true);
-
-function getPageFromLoc()
-{
-       var page;
-       var result = location.hash.match(/#_([^\?_]+)/);
-       if (result)
-               page = result[1];
-       if (page)
-               page = $(page);
-       return page;
-}
-
-function orientChangeHandler()
-{
-       var orientation=window.orientation;
-       switch(orientation)
-       {
-       case 0:
-               setOrientation(portraitVal);
-               break;  
-               
-       case 90:
-       case -90: 
-               setOrientation(landscapeVal);
-               break;
-       }
-}
-
-
-function checkOrientAndLocation()
-{
-       if (!hasOrientationEvent)
-       {
-         if (window.innerWidth != currentWidth)
-         {       
-                 currentWidth = window.innerWidth;
-                 var orient = currentWidth == 320 ? portraitVal : landscapeVal;
-                 setOrientation(orient);
-         }
-       }
-
-       if (location.hash != currentHash)
-       {
-               var pageId = location.hash.substr(hashPrefix.length);
-               iui.showPageById(pageId);
-       }
-}
-
-function setOrientation(orient)
-{
-       document.body.setAttribute("orient", orient);
-       setTimeout(scrollTo, 100, 0, 1);
-}
-
-function showDialog(page)
-{
-       currentDialog = page;
-       page.setAttribute("selected", "true");
-       
-       if (hasClass(page, "dialog") && !page.target)
-               showForm(page);
-}
-
-function showForm(form)
-{
-       form.onsubmit = function(event)
-       {
-               event.preventDefault();
-               submitForm(form);
-       };
-       
-       form.onclick = function(event)
-       {
-               if (event.target == form && hasClass(form, "dialog"))
-                       cancelDialog(form);
-       };
-}
-
-function cancelDialog(form)
-{
-       form.removeAttribute("selected");
-}
-
-function updatePage(page, fromPage)
-{
-       if (!page.id)
-               page.id = "__" + (++newPageCount) + "__";
-
-       location.hash = currentHash = hashPrefix + page.id;
-       pageHistory.push(page.id);
-
-       var pageTitle = $("pageTitle");
-       if (page.title)
-               pageTitle.innerHTML = page.title;
-
-       if (page.localName.toLowerCase() == "form" && !page.target)
-               showForm(page);
-               
-       var backButton = $("backButton");
-       if (backButton)
-       {
-               var prevPage = $(pageHistory[pageHistory.length-2]);
-               if (prevPage && !page.getAttribute("hideBackButton"))
-               {
-                       backButton.style.display = "inline";
-                       backButton.innerHTML = prevPage.title ? prevPage.title : "Back";
-               }
-               else
-                       backButton.style.display = "none";
-       }       
-
-       var backButton = $("myBackButton");
-       if (backButton)
-       {
-               var label = page.getAttribute("myBackLabel");
-
-               if (label)
-               {
-                       backButton.style.display = "inline";
-                       backButton.innerHTML = label;
-                       backButton.href = page.getAttribute("myBackHref");
-                       //backButton.target = page.getAttribute("myBackTarget");
-                       target = page.getAttribute("myBackTarget");
-                       if (target == null)
-                               backButton.target = '';
-                   else
-                               backButton.target = target;
-                       backButton.setAttribute("backwards", "true");
-               }
-               else
-                       backButton.style.display = "none";
-       }        
-
-}
-
-function slidePages(fromPage, toPage, backwards)
-{               
-       var axis = (backwards ? fromPage : toPage).getAttribute("axis");
-
-       clearInterval(checkTimer);
-       
-       if (canDoSlideAnim() && axis != 'y')
-       {
-         slide2(fromPage, toPage, backwards, slideDone);
-       }
-       else
-       {
-         slide1(fromPage, toPage, backwards, axis, slideDone);
-       }
-
-       function slideDone()
-       {
-         if (!hasClass(toPage, "dialog"))
-                 fromPage.removeAttribute("selected");
-         checkTimer = setInterval(checkOrientAndLocation, 300);
-         setTimeout(updatePage, 0, toPage, fromPage);
-         fromPage.removeEventListener('webkitTransitionEnd', slideDone, false);
-       }
-}
-
-function canDoSlideAnim()
-{
-  return (iui.animOn) && (typeof WebKitCSSMatrix == "object");
-}
-
-function slide1(fromPage, toPage, backwards, axis, cb)
-{
-       if (axis == "y")
-               (backwards ? fromPage : toPage).style.top = "100%";
-       else
-               toPage.style.left = "100%";
-
-       scrollTo(0, 1);
-       toPage.setAttribute("selected", "true");
-       var percent = 100;
-       slide();
-       var timer = setInterval(slide, slideInterval);
-
-       function slide()
-       {
-               percent -= slideSpeed;
-               if (percent <= 0)
-               {
-                       percent = 0;
-                       clearInterval(timer);
-                       cb();
-               }
-       
-               if (axis == "y")
-               {
-                       backwards
-                               ? fromPage.style.top = (100-percent) + "%"
-                               : toPage.style.top = percent + "%";
-               }
-               else
-               {
-                       fromPage.style.left = (backwards ? (100-percent) : (percent-100)) + "%"; 
-                       toPage.style.left = (backwards ? -percent : percent) + "%"; 
-               }
-       }
-}
-
-
-function slide2(fromPage, toPage, backwards, cb)
-{
-       toPage.style.webkitTransitionDuration = '0ms'; // Turn off transitions to set toPage start offset
-       // fromStart is always 0% and toEnd is always 0%
-       // iPhone won't take % width on toPage
-       var toStart = 'translateX(' + (backwards ? '-' : '') + window.innerWidth +      'px)';
-       var fromEnd = 'translateX(' + (backwards ? '100%' : '-100%') + ')';
-       toPage.style.webkitTransform = toStart;
-       toPage.setAttribute("selected", "true");
-       toPage.style.webkitTransitionDuration = '';       // Turn transitions back on
-       function startTrans()
-       {
-               fromPage.style.webkitTransform = fromEnd;
-               toPage.style.webkitTransform = 'translateX(0%)'; //toEnd
-       }
-       fromPage.addEventListener('webkitTransitionEnd', cb, false);
-       setTimeout(startTrans, 0);
-}
-
-function preloadImages()
-{
-       var preloader = document.createElement("div");
-       preloader.id = "preloader";
-       document.body.appendChild(preloader);
-}
-
-function submitForm(form)
-{
-       iui.showPageByHref(form.action || "POST", encodeForm(form), form.method);
-}
-
-function encodeForm(form)
-{
-       function encode(inputs)
-       {
-               for (var i = 0; i < inputs.length; ++i)
-               {
-                       if (inputs[i].name)
-                               args.push(inputs[i].name + "=" + escape(inputs[i].value));
-               }
-       }
-
-       var args = [];
-       encode(form.getElementsByTagName("input"));
-       encode(form.getElementsByTagName("textarea"));
-       encode(form.getElementsByTagName("select"));
-       return args;    
-}
-
-function findParent(node, localName)
-{
-       while (node && (node.nodeType != 1 || node.localName.toLowerCase() != localName))
-               node = node.parentNode;
-       return node;
-}
-
-function hasClass(self, name)
-{
-       var re = new RegExp("(^|\\s)"+name+"($|\\s)");
-       return re.exec(self.getAttribute("class")) != null;
-}
-
-function replaceElementWithSource(replace, source)
-{
-       var page = replace.parentNode;
-       var parent = replace;
-       while (page.parentNode != document.body)
-       {
-               page = page.parentNode;
-               parent = parent.parentNode;
-       }
-
-       var frag = document.createElement(parent.localName);
-       frag.innerHTML = source;
-
-       page.removeChild(parent);
-
-       while (frag.firstChild)
-               page.appendChild(frag.firstChild);
-}
-
-function $(id) { return document.getElementById(id); }
-function ddd() { console.log.apply(console, arguments); }
-
-})();
diff --git a/plugins/mobile/iui/iuix.css b/plugins/mobile/iui/iuix.css
deleted file mode 100644 (file)
index 1df7e8a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-body{margin:0;font-family:Helvetica;background:#FFF;color:#000;overflow-x:hidden;-webkit-user-select:none;-webkit-text-size-adjust:none;}body>*:not(.toolbar){display:none;position:absolute;margin:0;padding:0;left:0;top:45px;width:100%;min-height:372px;-webkit-transition-duration:300ms;-webkit-transition-property:-webkit-transform;-webkit-transform:translateX(0%);}body[orient="landscape"]>*:not(.toolbar){min-height:268px;}body>*[selected="true"]{display:block;}a[selected],a:active{background-color:#194fdb!important;background-image:url(listArrowSel.png),url(selection.png)!important;background-repeat:no-repeat,repeat-x;background-position:right center,left top;color:#FFF!important;}a[selected="progress"]{background-image:url(loading.gif),url(selection.png)!important;}body>.toolbar{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border-bottom:1px solid #2d3642;border-top:1px solid #6d84a2;padding:10px;height:45px;background:url(toolbar.png) #6d84a2 repeat-x;}.toolbar>h1{position:absolute;overflow:hidden;left:50%;margin:1px 0 0 -75px;height:45px;font-size:20px;width:150px;font-weight:bold;text-shadow:rgba(0,0,0,0.4) 0 -1px 0;text-align:center;text-overflow:ellipsis;white-space:nowrap;color:#FFF;}body[orient="landscape"]>.toolbar>h1{margin-left:-125px;width:250px;}.button{position:absolute;overflow:hidden;top:8px;right:6px;margin:0;border-width:0 5px;padding:0 3px;width:auto;height:30px;line-height:30px;font-family:inherit;font-size:12px;font-weight:bold;color:#FFF;text-shadow:rgba(0,0,0,0.6) 0 -1px 0;text-overflow:ellipsis;text-decoration:none;white-space:nowrap;background:none;-webkit-border-image:url(toolButton.png) 0 5 0 5;}.blueButton{-webkit-border-image:url(blueButton.png) 0 5 0 5;border-width:0 5px;}.leftButton{left:6px;right:auto;}#backButton{display:none;left:6px;right:auto;padding:0;max-width:55px;border-width:0 8px 0 14px;-webkit-border-image:url(backButton.png) 0 8 0 14;}.whiteButton,.redButton,.grayButton{display:block;border-width:0 12px;padding:10px;text-align:center;font-size:20px;font-weight:bold;text-decoration:inherit;color:inherit;}.whiteButton{-webkit-border-image:url(whiteButton.png) 0 12 0 12;text-shadow:rgba(255,255,255,0.7) 0 1px 0;}.redButton{-webkit-border-image:url(redButton.png) 0 12 0 12;color:#fff;text-shadow:#7a0001 0 -1px 0;}.grayButton{-webkit-border-image:url(grayButton.png) 0 12 0 12;color:#FFF;}body>ul>li{position:relative;margin:0;border-bottom:1px solid #E0E0E0;padding:8px 0 8px 10px;font-size:20px;font-weight:bold;list-style:none;}body>ul>li.group{position:relative;top:-1px;margin-bottom:-2px;border-top:1px solid #7d7d7d;border-bottom:1px solid #999;padding:1px 10px;background:url(listGroup.png) repeat-x;font-size:17px;font-weight:bold;text-shadow:rgba(0,0,0,0.4) 0 1px 0;color:#FFF;}body>ul>li.group:first-child{top:0;border-top:none;}body>ul>li>a{display:block;margin:-8px 0 -8px -10px;padding:8px 32px 8px 10px;text-decoration:none;color:inherit;background:url(listArrow.png) no-repeat right center;}a[target="_replace"]{box-sizing:border-box;-webkit-box-sizing:border-box;padding-top:25px;padding-bottom:25px;font-size:18px;color:cornflowerblue;background-color:#FFF;background-image:none;}body>.dialog{top:0;width:100%;min-height:417px;z-index:2;background:rgba(0,0,0,0.8);padding:0;text-align:right;}.dialog>fieldset{box-sizing:border-box;-webkit-box-sizing:border-box;width:100%;margin:0;border:none;border-top:1px solid #6d84a2;padding:10px 6px;background:url(toolbar.png) #7388a5 repeat-x;}.dialog>fieldset>h1{margin:0 10px 0 10px;padding:0;font-size:20px;font-weight:bold;color:#FFF;text-shadow:rgba(0,0,0,0.4) 0 -1px 0;text-align:center;}.dialog>fieldset>label{position:absolute;margin:16px 0 0 6px;font-size:14px;color:#999;}input:not(input[type|=radio]):not(input[type|=checkbox]){box-sizing:border-box;-webkit-box-sizing:border-box;width:100%;margin:8px 0 0 0;padding:6px 6px 6px 44px;font-size:16px;font-weight:normal;}body>.panel{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:10px;background:#c8c8c8 url(pinstripes.png);}.panel>fieldset{position:relative;margin:0 0 20px 0;padding:0;background:#FFF;-webkit-border-radius:10px;-moz-border-radius:10px;border:1px solid #999;text-align:right;font-size:16px;}.row{position:relative;min-height:42px;border-bottom:1px solid #999;-webkit-border-radius:0;text-align:right;}fieldset>.row:last-child{border-bottom:none!important;}.row>input:not(input[type|=radio]):not(input[type|=checkbox]){box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin:0;border:none;padding:12px 10px 0 110px;height:42px;background:none;}.row>input[type|=radio],.row>input[type|=checkbox]{margin:7px 7px 0 0;height:25px;width:25px;}.row>label{position:absolute;margin:0 0 0 14px;line-height:42px;font-weight:bold;}.row>span{position:absolute;padding:12px 10px 0 110px;margin:0;}.row>.toggle{position:absolute;top:6px;right:6px;width:100px;height:28px;}.toggle{border:1px solid #888;-webkit-border-radius:6px;background:#FFF url(toggle.png) repeat-x;font-size:19px;font-weight:bold;line-height:30px;}.toggle[toggled="true"]{border:1px solid #143fae;background:#194fdb url(toggleOn.png) repeat-x;}.toggleOn{display:none;position:absolute;width:60px;text-align:center;left:0;top:0;color:#FFF;text-shadow:rgba(0,0,0,0.4) 0 -1px 0;}.toggleOff{position:absolute;width:60px;text-align:center;right:0;top:0;color:#666;}.toggle[toggled="true"]>.toggleOn{display:block;}.toggle[toggled="true"]>.toggleOff{display:none;}.thumb{position:absolute;top:-1px;left:-1px;width:40px;height:28px;border:1px solid #888;-webkit-border-radius:6px;background:#fff url(thumb.png) repeat-x;}.toggle[toggled="true"]>.thumb{left:auto;right:-1px;}.panel>h2{margin:0 0 8px 14px;font-size:inherit;font-weight:bold;color:#4d4d70;text-shadow:rgba(255,255,255,0.75) 2px 2px 0;}#preloader{display:none;background-image:url(loading.gif),url(selection.png),url(blueButton.png),url(listArrowSel.png),url(listGroup.png);}
\ No newline at end of file
diff --git a/plugins/mobile/iui/iuix.js b/plugins/mobile/iui/iuix.js
deleted file mode 100644 (file)
index 09d2eb9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-(function(){var _1=20;var _2=0;var _3=null;var _4=null;var _5=0;var _6=location.hash;var _7="#_";var _8=[];var _9=0;var _a;var _b=false;var _c="portrait";var _d="landscape";window.iui={animOn:true,showPage:function(_e,_f){if(_e){if(_4){_4.removeAttribute("selected");_4=null;}if(hasClass(_e,"dialog")){showDialog(_e);}else{var _10=_3;_3=_e;if(_10){setTimeout(slidePages,0,_10,_e,_f);}else{updatePage(_e,_10);}}}},showPageById:function(_11){var _12=$(_11);if(_12){var _13=_8.indexOf(_11);var _14=_13!=-1;if(_14){_8.splice(_13,_8.length);}iui.showPage(_12,_14);}},showPageByHref:function(_15,_16,_17,_18,cb){var req=new XMLHttpRequest();req.onerror=function(){if(cb){cb(false);}};req.onreadystatechange=function(){if(req.readyState==4){if(_18){replaceElementWithSource(_18,req.responseText);}else{var _1b=document.createElement("div");_1b.innerHTML=req.responseText;iui.insertPages(_1b.childNodes);}if(cb){setTimeout(cb,1000,true);}}};if(_16){req.open(_17||"GET",_15,true);req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");req.setRequestHeader("Content-Length",_16.length);req.send(_16.join("&"));}else{req.open(_17||"GET",_15,true);req.send(null);}},insertPages:function(_1c){var _1d;for(var i=0;i<_1c.length;++i){var _1f=_1c[i];if(_1f.nodeType==1){if(!_1f.id){_1f.id="__"+(++_9)+"__";}var _20=$(_1f.id);if(_20){_20.parentNode.replaceChild(_1f,_20);}else{document.body.appendChild(_1f);}if(_1f.getAttribute("selected")=="true"||!_1d){_1d=_1f;}--i;}}if(_1d){iui.showPage(_1d);}},getSelectedPage:function(){for(var _21=document.body.firstChild;_21;_21=_21.nextSibling){if(_21.nodeType==1&&_21.getAttribute("selected")=="true"){return _21;}}},isNativeUrl:function(_22){for(var i=0;i<iui.nativeUrlPatterns.length;i++){if(_22.match(iui.nativeUrlPatterns[i])){return true;}}return false;},nativeUrlPatterns:[new RegExp("^http://maps.google.com/maps?"),new RegExp("^mailto:"),new RegExp("^tel:"),new RegExp("^http://www.youtube.com/watch\\?v="),new RegExp("^http://www.youtube.com/v/"),new RegExp("^javascript:"),]};addEventListener("load",function(_24){var _25=iui.getSelectedPage();var _26=getPageFromLoc();if(_25){iui.showPage(_25);}if(_26&&(_26!=_25)){iui.showPage(_26);}setTimeout(preloadImages,0);if(typeof window.onorientationchange=="object"){window.onorientationchange=orientChangeHandler;_b=true;setTimeout(orientChangeHandler,0);}setTimeout(checkOrientAndLocation,0);_a=setInterval(checkOrientAndLocation,300);},false);addEventListener("unload",function(_27){return;},false);addEventListener("click",function(_28){var _29=findParent(_28.target,"a");if(_29){function unselect(){_29.removeAttribute("selected");}if(_29.href&&_29.hash&&_29.hash!="#"&&!_29.target){_29.setAttribute("selected","true");iui.showPage($(_29.hash.substr(1)));setTimeout(unselect,500);}else{if(_29==$("backButton")){history.back();}else{if(_29.getAttribute("type")=="submit"){var _2a=findParent(_29,"form");if(_2a.target=="_self"){_2a.submit();return;}submitForm(_2a);}else{if(_29.getAttribute("type")=="cancel"){cancelDialog(findParent(_29,"form"));}else{if(_29.target=="_replace"){_29.setAttribute("selected","progress");iui.showPageByHref(_29.href,null,null,_29,unselect);}else{if(iui.isNativeUrl(_29.href)){return;}else{if(_29.target=="_webapp"){location.href=_29.href;}else{if(!_29.target){_29.setAttribute("selected","progress");iui.showPageByHref(_29.href,null,null,null,unselect);}else{return;}}}}}}}}_28.preventDefault();}},true);addEventListener("click",function(_2b){var div=findParent(_2b.target,"div");if(div&&hasClass(div,"toggle")){div.setAttribute("toggled",div.getAttribute("toggled")!="true");_2b.preventDefault();}},true);function getPageFromLoc(){var _2d;var _2e=location.hash.match(/#_([^\?_]+)/);if(_2e){_2d=_2e[1];}if(_2d){_2d=$(_2d);}return _2d;}function orientChangeHandler(){var _2f=window.orientation;switch(_2f){case 0:setOrientation(_c);break;case 90:case -90:setOrientation(_d);break;}}function checkOrientAndLocation(){if(!_b){if(window.innerWidth!=_5){_5=window.innerWidth;var _30=_5==320?_c:_d;setOrientation(_30);}}if(location.hash!=_6){var _31=location.hash.substr(_7.length);iui.showPageById(_31);}}function setOrientation(_32){document.body.setAttribute("orient",_32);setTimeout(scrollTo,100,0,1);}function showDialog(_33){_4=_33;_33.setAttribute("selected","true");if(hasClass(_33,"dialog")&&!_33.target){showForm(_33);}}function showForm(_34){_34.onsubmit=function(_35){_35.preventDefault();submitForm(_34);};_34.onclick=function(_36){if(_36.target==_34&&hasClass(_34,"dialog")){cancelDialog(_34);}};}function cancelDialog(_37){_37.removeAttribute("selected");}function updatePage(_38,_39){if(!_38.id){_38.id="__"+(++_9)+"__";}location.hash=_6=_7+_38.id;_8.push(_38.id);var _3a=$("pageTitle");if(_38.title){_3a.innerHTML=_38.title;}if(_38.localName.toLowerCase()=="form"&&!_38.target){showForm(_38);}var _3b=$("backButton");if(_3b){var _3c=$(_8[_8.length-2]);if(_3c&&!_38.getAttribute("hideBackButton")){_3b.style.display="inline";_3b.innerHTML=_3c.title?_3c.title:"Back";}else{_3b.style.display="none";}}}function slidePages(_3d,_3e,_3f){var _40=(_3f?_3d:_3e).getAttribute("axis");clearInterval(_a);if(canDoSlideAnim()&&_40!="y"){slide2(_3d,_3e,_3f,slideDone);}else{slide1(_3d,_3e,_3f,_40,slideDone);}function slideDone(){if(!hasClass(_3e,"dialog")){_3d.removeAttribute("selected");}_a=setInterval(checkOrientAndLocation,300);setTimeout(updatePage,0,_3e,_3d);_3d.removeEventListener("webkitTransitionEnd",slideDone,false);}}function canDoSlideAnim(){return (iui.animOn)&&(typeof WebKitCSSMatrix=="object");}function slide1(_41,_42,_43,_44,cb){if(_44=="y"){(_43?_41:_42).style.top="100%";}else{_42.style.left="100%";}scrollTo(0,1);_42.setAttribute("selected","true");var _46=100;slide();var _47=setInterval(slide,_2);function slide(){_46-=_1;if(_46<=0){_46=0;clearInterval(_47);cb();}if(_44=="y"){_43?_41.style.top=(100-_46)+"%":_42.style.top=_46+"%";}else{_41.style.left=(_43?(100-_46):(_46-100))+"%";_42.style.left=(_43?-_46:_46)+"%";}}}function slide2(_48,_49,_4a,cb){_49.style.webkitTransitionDuration="0ms";var _4c="translateX("+(_4a?"-":"")+window.innerWidth+"px)";var _4d="translateX("+(_4a?"100%":"-100%")+")";_49.style.webkitTransform=_4c;_49.setAttribute("selected","true");_49.style.webkitTransitionDuration="";function startTrans(){_48.style.webkitTransform=_4d;_49.style.webkitTransform="translateX(0%)";}_48.addEventListener("webkitTransitionEnd",cb,false);setTimeout(startTrans,0);}function preloadImages(){var _4e=document.createElement("div");_4e.id="preloader";document.body.appendChild(_4e);}function submitForm(_4f){iui.showPageByHref(_4f.action||"POST",encodeForm(_4f),_4f.method);}function encodeForm(_50){function encode(_51){for(var i=0;i<_51.length;++i){if(_51[i].name){args.push(_51[i].name+"="+escape(_51[i].value));}}}var _53=[];encode(_50.getElementsByTagName("input"));encode(_50.getElementsByTagName("textarea"));encode(_50.getElementsByTagName("select"));return _53;}function findParent(_54,_55){while(_54&&(_54.nodeType!=1||_54.localName.toLowerCase()!=_55)){_54=_54.parentNode;}return _54;}function hasClass(_56,_57){var re=new RegExp("(^|\\s)"+_57+"($|\\s)");return re.exec(_56.getAttribute("class"))!=null;}function replaceElementWithSource(_59,_5a){var _5b=_59.parentNode;var _5c=_59;while(_5b.parentNode!=document.body){_5b=_5b.parentNode;_5c=_5c.parentNode;}var _5d=document.createElement(_5c.localName);_5d.innerHTML=_5a;_5b.removeChild(_5c);while(_5d.firstChild){_5b.appendChild(_5d.firstChild);}}function $(id){return document.getElementById(id);}function ddd(){console.log.apply(console,arguments);}})();
\ No newline at end of file
diff --git a/plugins/mobile/iui/listArrow.png b/plugins/mobile/iui/listArrow.png
deleted file mode 100644 (file)
index 6421a16..0000000
Binary files a/plugins/mobile/iui/listArrow.png and /dev/null differ
diff --git a/plugins/mobile/iui/listArrowSel.png b/plugins/mobile/iui/listArrowSel.png
deleted file mode 100644 (file)
index 86832eb..0000000
Binary files a/plugins/mobile/iui/listArrowSel.png and /dev/null differ
diff --git a/plugins/mobile/iui/listGroup.png b/plugins/mobile/iui/listGroup.png
deleted file mode 100644 (file)
index 221553a..0000000
Binary files a/plugins/mobile/iui/listGroup.png and /dev/null differ
diff --git a/plugins/mobile/iui/loading.gif b/plugins/mobile/iui/loading.gif
deleted file mode 100644 (file)
index 8522ddf..0000000
Binary files a/plugins/mobile/iui/loading.gif and /dev/null differ
diff --git a/plugins/mobile/iui/pinstripes.png b/plugins/mobile/iui/pinstripes.png
deleted file mode 100644 (file)
index c997775..0000000
Binary files a/plugins/mobile/iui/pinstripes.png and /dev/null differ
diff --git a/plugins/mobile/iui/redButton.png b/plugins/mobile/iui/redButton.png
deleted file mode 100644 (file)
index 210f156..0000000
Binary files a/plugins/mobile/iui/redButton.png and /dev/null differ
diff --git a/plugins/mobile/iui/selection.png b/plugins/mobile/iui/selection.png
deleted file mode 100644 (file)
index 537e3f0..0000000
Binary files a/plugins/mobile/iui/selection.png and /dev/null differ
diff --git a/plugins/mobile/iui/thumb.png b/plugins/mobile/iui/thumb.png
deleted file mode 100644 (file)
index cefa8fc..0000000
Binary files a/plugins/mobile/iui/thumb.png and /dev/null differ
diff --git a/plugins/mobile/iui/toggle.png b/plugins/mobile/iui/toggle.png
deleted file mode 100644 (file)
index 3b62ebf..0000000
Binary files a/plugins/mobile/iui/toggle.png and /dev/null differ
diff --git a/plugins/mobile/iui/toggleOn.png b/plugins/mobile/iui/toggleOn.png
deleted file mode 100644 (file)
index b016814..0000000
Binary files a/plugins/mobile/iui/toggleOn.png and /dev/null differ
diff --git a/plugins/mobile/iui/toolButton.png b/plugins/mobile/iui/toolButton.png
deleted file mode 100644 (file)
index afe4d7a..0000000
Binary files a/plugins/mobile/iui/toolButton.png and /dev/null differ
diff --git a/plugins/mobile/iui/toolbar.png b/plugins/mobile/iui/toolbar.png
deleted file mode 100644 (file)
index 3dde94c..0000000
Binary files a/plugins/mobile/iui/toolbar.png and /dev/null differ
diff --git a/plugins/mobile/iui/whiteButton.png b/plugins/mobile/iui/whiteButton.png
deleted file mode 100644 (file)
index 5514b27..0000000
Binary files a/plugins/mobile/iui/whiteButton.png and /dev/null differ
diff --git a/plugins/mobile/login_form.php b/plugins/mobile/login_form.php
deleted file mode 100644 (file)
index be44ef1..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Tiny Tiny RSS</title>
-<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
-<link rel="apple-touch-icon" href="iui/iui-logo-touch-icon.png" />
-<meta name="apple-touch-fullscreen" content="YES" />
-<style type="text/css" media="screen">@import "iui/iui.css";</style>
-<script type="application/x-javascript" src="iui/iui.js"></script>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-</head>
-
-
-<script type="text/javascript">
-function do_login() {
-       var f = document.forms['login'];
-       f.submit();
-}
-</script>
-
-<body>
-
-    <div class="toolbar">
-        <h1 id="pageTitle"></h1>
-                 <a id="backButton" class="button" href="#"></a>
-        <a class="button blueButton" onclick='do_login()'><?php echo __('Log in') ?></a>
-    </div>
-
-       <form target="_self" title="Login" id="login" class="panel" name="login" selected="true"
-               action="../../public.php?return=<?php echo htmlspecialchars($_SERVER["REQUEST_URI"]) ?>"
-               method="post">
-
-       <input type="hidden" name="op" value="login">
-
-       <fieldset>
-
-               <div class="row">
-                       <label><?php echo __("Login:") ?></label>
-                       <input type="text" autocapitalize="off" name="login">
-               </div>
-
-               <div class="row">
-               <label><?php echo __("Password:") ?></label>
-               <input type="password" name="password">
-               </div>
-
-               </fieldset>
-
-               <div align='center'><a target='_self' href='<?php echo get_self_url_prefix() ?>/index.php?mobile=false'>
-                       <?php echo __("Open regular version") ?></a>
-
-       </form>
-
-</body>
-</html>
-
diff --git a/plugins/mobile/logout.php b/plugins/mobile/logout.php
deleted file mode 100644 (file)
index afc411a..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-       $basedir = dirname(dirname(dirname(__FILE__)));
-
-       set_include_path(
-               dirname(__FILE__) . PATH_SEPARATOR .
-               $basedir . PATH_SEPARATOR .
-               "$basedir/include" . PATH_SEPARATOR .
-               get_include_path());
-
-       require_once "mobile-functions.php";
-
-       logout_user();
-
-       header("Location: index.php");
-?>
diff --git a/plugins/mobile/mobile-functions.php b/plugins/mobile/mobile-functions.php
deleted file mode 100644 (file)
index 1e65a3c..0000000
+++ /dev/null
@@ -1,542 +0,0 @@
-<?php
-       require_once "autoload.php";
-       require_once "functions.php";
-       require_once "sessions.php";
-       require_once "version.php";
-       require_once "db-prefs.php";
-
-       init_plugins();
-
-       define('TTRSS_SESSION_NAME', 'ttrss_m_sid');
-
-       /* TODO replace with interface to db-prefs */
-
-       function mobile_pref_toggled($id) {
-               if (get_pref("_MOBILE_$id"))
-                       return "true";
-               else
-                       return "";
-       }
-
-       function mobile_get_pref($id) {
-               //return $_SESSION["mobile-prefs"][$id];
-               return get_pref("_MOBILE_$id");
-       }
-
-       function mobile_set_pref($id, $value) {
-               //$_SESSION["mobile-prefs"][$id] = $value;
-               return set_pref("_MOBILE_$id", $value);
-       }
-
-       function mobile_feed_has_icon($id) {
-               return file_exists("../../".ICONS_DIR."/$id.ico");
-       }
-
-       function render_flat_feed_list($offset) {
-               $owner_uid = $_SESSION["uid"];
-               $limit = 0;
-
-               if (!$offset) $offset = 0;
-
-               if (mobile_get_pref("SORT_FEEDS_UNREAD")) {
-                       $order_by = "unread DESC, title";
-               } else {
-                       $order_by = "title";
-               }
-
-               if ($limit > 0) {
-                       $limit_qpart = "LIMIT $limit OFFSET $offset";
-               } else {
-                       $limit_qpart = "";
-               }
-
-               $result = db_query("SELECT id,
-                               title,
-                       (SELECT COUNT(id) FROM ttrss_entries,ttrss_user_entries
-                               WHERE feed_id = ttrss_feeds.id AND unread = true
-                                       AND ttrss_user_entries.ref_id = ttrss_entries.id
-                                       AND owner_uid = '$owner_uid') AS unread
-                       FROM ttrss_feeds
-                       WHERE
-                               ttrss_feeds.owner_uid = '$owner_uid'
-                       ORDER BY $order_by $limit_qpart");
-
-               if (!$offset) print '<ul id="home" title="'.__('Home').'" selected="true"
-                       myBackLabel="'.__('Logout').'" myBackHref="logout.php" myBackTarget="_self">';
-
-
-       //              print "<li><a href='#cat-actions'>".__('Actions...')."</a></li>";
-
-                       $num_feeds = 0;
-
-                       while ($line = db_fetch_assoc($result)) {
-                               $id = $line["id"];
-                               $unread = $line["unread"];
-
-       //                      $unread = rand(0, 100);
-
-                               if ($unread > 0) {
-                                       $line["title"] = $line["title"] . " ($unread)";
-                                       $class = '';
-                               } else {
-                                       $class = 'oldItem';
-                               }
-
-                               if (mobile_feed_has_icon($id)) {
-                                       $icon_url = "../../".ICONS_URL."/$id.ico";
-                               } else {
-                                       $icon_url = "../../images/blank_icon.gif";
-                               }
-
-                               if ($unread > 0 || !mobile_get_pref("HIDE_READ")) {
-                                       print "<li class='$class'><a href='feed.php?id=$id'>" .
-                                               "<img class='tinyIcon' src='$icon_url'/>".
-                                               $line["title"] . "</a></li>";
-                               }
-
-                               ++$num_feeds;
-                       }
-
-/*                     $next_offset = $offset + $num_feeds;
-
-                       print "<li><a href=\"home.php?skip=$next_offset\"
-       target=\"_replace\">Show more feeds...</a></li>"; */
-
-                       if (!$offset) print "</ul>";
-
-       }
-
-       function render_category($cat_id, $offset) {
-               $owner_uid = $_SESSION["uid"];
-
-               if ($cat_id >= 0) {
-
-                       if ($cat_id != 0) {
-                               $cat_query = "cat_id = '$cat_id'";
-                       } else {
-                               $cat_query = "cat_id IS NULL";
-                       }
-
-                       if (mobile_get_pref("SORT_FEEDS_UNREAD")) {
-                               $order_by = "unread DESC, title";
-                       } else {
-                               $order_by = "title";
-                       }
-
-                       $result = db_query("SELECT id,
-                               title,
-                       (SELECT COUNT(id) FROM ttrss_entries,ttrss_user_entries
-                               WHERE feed_id = ttrss_feeds.id AND unread = true
-                                       AND ttrss_user_entries.ref_id = ttrss_entries.id
-                                       AND owner_uid = '$owner_uid') as unread
-                       FROM ttrss_feeds
-                       WHERE
-                               ttrss_feeds.owner_uid = '$owner_uid' AND
-                               $cat_query
-                       ORDER BY $order_by");
-
-                       $title = getCategoryTitle($cat_id);
-
-                       print "<ul id='cat-$cat_id' title='$title' myBackLabel='".__("Home")."'
-                               myBackHref='home.php'>";
-
-       //              print "<li><a href='#cat-actions'>".__('Actions...')."</a></li>";
-
-                       while ($line = db_fetch_assoc($result)) {
-                               $id = $line["id"];
-                               $unread = $line["unread"];
-
-       //                      $unread = rand(0, 100);
-
-                               if ($unread > 0) {
-                                       $line["title"] = $line["title"] . " ($unread)";
-                                       $class = '';
-                               } else {
-                                       $class = 'oldItem';
-                               }
-
-                               if (mobile_feed_has_icon($id)) {
-                                       $icon_url = "../../".ICONS_URL."/$id.ico";
-                               } else {
-                                       $icon_url = "../../images/blank_icon.gif";
-                               }
-
-                               if ($unread > 0 || !mobile_get_pref("HIDE_READ")) {
-                                       print "<li class='$class'><a href='feed.php?id=$id&cat=$cat_id'>" .
-                                               "<img class='tinyIcon' src='$icon_url'/>".
-                                               $line["title"] . "</a></li>";
-                               }
-                       }
-
-                       print "</ul>";
-               } else if ($cat_id == -1) {
-
-                       $title = __('Special');
-
-                       print "<ul id='cat--1' title='$title' myBackLabel='".__("Home")."'
-                               myBackHref='home.php'>";
-
-                       foreach (array(-4, -3, -1, -2, 0) as $id) {
-                               $title = getFeedTitle($id);
-                               $unread = getFeedUnread($id, false);
-                               $icon = getFeedIcon($id);
-
-                               if ($unread > 0) {
-                                       $title = $title . " ($unread)";
-                                       $class = '';
-                               } else {
-                                       $class = 'oldItem';
-                               }
-
-                               if ($unread > 0 || !mobile_get_pref("HIDE_READ")) {
-                                       print "<li class='$class'>
-                                               <a href='feed.php?id=$id&cat=-1'>
-                                               <img class='tinyIcon' src='../$icon'/>$title</a></li>";
-                               }
-                       }
-
-                       print "</ul>";
-               } else if ($cat_id == -2) {
-
-                       $title = __('Labels');
-
-                       print "<ul id='cat--2' title='$title' myBackLabel='".__("Home")."'
-                               myBackHref='home.php'>";
-
-                       $result = db_query("SELECT id, caption FROM ttrss_labels2
-                               WHERE owner_uid = '$owner_uid'");
-
-                       $label_data = array();
-
-                       while ($line = db_fetch_assoc($result)) {
-
-                               $id = label_to_feed_id($line["id"]);
-
-                               $unread = getFeedUnread($id);
-                               $title = $line["caption"];
-
-                               if ($unread > 0) {
-                                       $title = $title . " ($unread)";
-                                       $class = '';
-                               } else {
-                                       $class = 'oldItem';
-                               }
-
-                               if ($unread > 0 || !mobile_get_pref("HIDE_READ")) {
-                                       print "<li class='$class'>
-                                               <a href='feed.php?id=$id&cat=-2'>$title</a></li>";
-                               }
-                       }
-                       print "</ul>";
-               }
-       }
-
-       function render_categories_list($link) {
-               $owner_uid = $_SESSION["uid"];
-
-               $cat_browse = mobile_get_pref("BROWSE_CATS");
-
-               print '<ul id="home" title="'.__('Home').'" selected="true"
-                       myBackLabel="'.__('Logout').'" myBackHref="logout.php" myBackTarget="_self">';
-
-//             print "<li><a href='#searchForm'>Search...</a></li>";
-
-               foreach (array(-1, -2) as $id) {
-                       $title = getCategoryTitle($id);
-                       $unread = getFeedUnread($id, true);
-                       if ($unread > 0) {
-                               $title = $title . " ($unread)";
-                               $class = '';
-                       } else {
-                               $class = 'oldItem';
-                       }
-
-                       if ($cat_browse)
-                               print "<li class='$class'><a href='cat.php?id=$id'>$title</a></li>";
-                       else
-                               print "<li class='$class'><a href='feed.php?id=$id&is_cat=true'>$title</a></li>";
-               }
-
-               $result = db_query("SELECT
-                               ttrss_feed_categories.id,
-                               ttrss_feed_categories.title,
-                               COUNT(ttrss_feeds.id) AS num_feeds
-                       FROM ttrss_feed_categories, ttrss_feeds
-                       WHERE ttrss_feed_categories.owner_uid = $owner_uid
-                               AND ttrss_feed_categories.id = cat_id
-                               GROUP BY ttrss_feed_categories.id,
-                                       ttrss_feed_categories.title
-                               ORDER BY ttrss_feed_categories.title");
-
-               while ($line = db_fetch_assoc($result)) {
-
-                       if ($line["num_feeds"] > 0) {
-
-                               $unread = getFeedUnread($line["id"], true);
-                               $id = $line["id"];
-
-                               if ($unread > 0) {
-                                       $line["title"] = $line["title"] . " ($unread)";
-                                       $class = '';
-                               } else {
-                                       $class = 'oldItem';
-                               }
-
-                               if ($unread > 0 || !mobile_get_pref("HIDE_READ")) {
-
-                                       if ($cat_browse)
-                                               print "<li class='$class'><a href='cat.php?id=$id'>" .
-                                                       $line["title"] . "</a></li>";
-                                       else
-                                               print "<li class='$class'><a href='feed.php?id=$id&is_cat=true'>".
-                                                       $line["title"] . "</a></li>";
-                               }
-                       }
-               }
-
-
-               $result = db_query("SELECT COUNT(*) AS nf FROM ttrss_feeds WHERE
-                       cat_id IS NULL and owner_uid = '$owner_uid'");
-
-               $num_feeds = db_fetch_result($result, 0, "nf");
-
-               if ($num_feeds > 0) {
-                       $unread = getFeedUnread(0, true);
-                       $title = "Uncategorized";
-
-                       if ($unread > 0) {
-                               $title = "$title ($unread)";
-                               $class = '';
-                       } else {
-                               $class = 'oldItem';
-                       }
-
-                       if ($unread > 0 || !mobile_get_pref("HIDE_READ")) {
-                               if ($cat_browse)
-                                       print "<li class='$class'><a href='cat.php?id=0'>$title</a></li>";
-                               else
-                                       print "<li class='$class'><a href='feed.php?id=0&is_cat=true'>$title</a></li>";
-
-                       }
-               }
-
-               print "</ul>";
-       }
-
-       function render_headlines_list($feed_id, $cat_id, $offset, $search,
-               $is_cat = false) {
-
-               $feed_id = $feed_id;
-               $limit = 15;
-               $filter = '';
-
-               if (!mobile_get_pref("HIDE_READ"))
-                       $view_mode = "all_articles";
-               else
-                       $view_mode = 'adaptive';
-
-               if ($search) {
-                       $search_mode = 'this_feed';
-               } else {
-                       $search_mode = '';
-               }
-
-               $qfh_ret = queryFeedHeadlines($feed_id, $limit,
-                       $view_mode, $is_cat, $search, $search_mode,
-                       "score DESC, date_entered ".(mobile_get_pref('REVERSE_HEADLINES') ? 'ASC' : 'DESC'), $offset);
-
-               $result = $qfh_ret[0];
-               $feed_title = $qfh_ret[1];
-
-               if (!$offset) {
-
-                       print "<form id=\"searchForm-$feed_id-$cat_id\" class=\"dialog\" method=\"POST\"
-                               action=\"feed.php\">
-
-                               <input type=\"hidden\" name=\"id\" value=\"$feed_id\">
-                               <input type=\"hidden\" name=\"cat\" value=\"$cat_id\">
-
-               <fieldset>
-                         <h1>Search</h1>
-                   <a class=\"button leftButton\" type=\"cancel\">Cancel</a>
-                   <a class=\"button blueButton\" type=\"submit\">Search</a>
-
-                   <label>Search:</label>
-                                       <input id=\"search\" type=\"text\" name=\"search\"/>
-               </fieldset>
-                         </form>";
-
-                       if ($cat_id) {
-                               $cat_title = getCategoryTitle($cat_id);
-
-                               print "<ul id=\"feed-$feed_id\" title=\"$feed_title\" selected=\"true\"
-                                       myBackLabel='$cat_title' myBackHref='cat.php?id=$cat_id'>";
-                       } else {
-                               print "<ul id=\"feed-$feed_id\" title=\"$feed_title\" selected=\"true\"
-                                       myBackLabel='".__("Home")."' myBackHref='home.php'>";
-                       }
-
-                       print "<li><a href='#searchForm-$feed_id-$cat_id'>Search...</a></li>";
-               }
-
-               $num_headlines = 0;
-
-               while ($line = db_fetch_assoc($result)) {
-                       $id = $line["id"];
-                       $real_feed_id = $line["feed_id"];
-
-                       if (sql_bool_to_bool($line["unread"])) {
-                               $class = '';
-                       } else {
-                               $class = 'oldItem';
-                       }
-
-                       if (mobile_feed_has_icon($real_feed_id)) {
-                               $icon_url = "../../".ICONS_URL."/$real_feed_id.ico";
-                       } else {
-                               $icon_url = "../../images/blank_icon.gif";
-                       }
-
-                       print "<li class='$class'><a href='article.php?id=$id&feed=$feed_id&cat=$cat_id&is_cat=$is_cat'>
-                               <img class='tinyIcon' src='$icon_url'>";
-                       print $line["title"];
-                       print "</a></li>";
-
-                       ++$num_headlines;
-
-               }
-
-               if ($num_headlines == 0 && $search) {
-                       $articles_url = "feed.php?id=$feed_id&cat=$cat_id&skip=$next_offset";
-
-                       print "<li><a href=\"$articles_url\">" . __("Nothing found (click to reload feed).") . "</a></li>";
-
-               }
-
-//             print "<a target='_replace' href='feed.php?id=$feed_id&cat=$cat_id&skip=0'>Next $limit articles...</a>";
-
-               $next_offset = $offset + $num_headlines;
-               $num_unread = getFeedUnread($feed_id, $is_cat);
-
-               /* FIXME needs normal implementation */
-
-               if ($num_headlines > 0 && ($num_unread == 0 || $num_unread > $next_offset)) {
-
-                       if ($is_cat) {
-                               $articles_url = "feed.php?id=$feed_id&skip=$next_offset".
-                                       "&search=$search&is_cat=true";
-                       } else {
-                               $articles_url = "feed.php?id=$feed_id&cat=$cat_id&skip=$next_offset".
-                                       "&search=$search";
-                       }
-
-                       print "<li><a href=\"$articles_url\"
-                               target=\"_replace\">Get more articles...</a></li>";
-               }
-
-               if (!$offset) print "</ul>";
-
-       }
-
-       function render_article($id, $feed_id, $cat_id, $is_cat) {
-
-               $query = "SELECT title,link,content,feed_id,comments,int_id,
-                       marked,unread,published,
-                       ".SUBSTRING_FOR_DATE."(updated,1,16) as updated,
-                       author
-                       FROM ttrss_entries,ttrss_user_entries
-                       WHERE   id = '$id' AND ref_id = id AND owner_uid = " .
-                               $_SESSION["uid"] ;
-
-               $result = db_query($query);
-
-               if (db_num_rows($result) != 0) {
-
-                       $line = db_fetch_assoc($result);
-
-                       $tmp_result = db_query("UPDATE ttrss_user_entries
-                               SET unread = false,last_read = NOW()
-                               WHERE ref_id = '$id'
-                               AND owner_uid = " . $_SESSION["uid"]);
-
-                       $updated_fmt = make_local_datetime($line['updated'], false);
-
-                       $title = $line["title"];
-                       $article_link = $line["link"];
-
-                       if (!$is_cat)
-                               $feed_title = getFeedTitle($feed_id);
-                       else
-                               $feed_title = getCategoryTitle($feed_id);
-
-                       print "<div class=\"panel\" id=\"article-$id\" title=\"$title\"
-                               selected=\"true\"
-                               myBackLabel='$feed_title' myBackHref='feed.php?id=$feed_id&cat=$cat_id&is_cat=$is_cat'>";
-
-                       if ($line['feed_id'] != $feed_id) {
-                               $real_feed_title = getFeedTitle($line['feed_id']);
-                               $real_feed_id = $line['feed_id'];
-                               $feed_link = "(<a href=\"feed.php?id=$real_feed_id\">$real_feed_title</a>)";
-                       }
-//                     print "<fieldset>";
-
-                       print "<div style='float : right'>($updated_fmt)</div>";
-
-                       print "<h2><a target='_blank' href='$article_link'>$title</a> $feed_link</h2>";
-
-                       print "<hr>";
-
-/*                     print "<div class=\"row\">";
-                       print "<label id='title'><a target='_blank' href='$article_link'>$title</a></label>";
-                       print "</div>"; */
-
-                       $is_starred = (sql_bool_to_bool($line["marked"])) ? "true" : "false";
-                       $is_published = (sql_bool_to_bool($line["published"])) ? "true" : "false";
-
-                       //print "<div class=\"row\">";
-                       //print "<label id='updated'>Updated:</label>";
-                       //print "<input type='text' enabled='false' name='updated' disabled value='$updated_fmt'/>";
-                       //print "</div>";
-
-//                     print "</fieldset>";
-
-                       $content = sanitize($line["content"]);
-                       $content = preg_replace("/href=/i", "target=\"_blank\" href=", $content);
-
-                       if (!mobile_get_pref("SHOW_IMAGES")) {
-                               $content = preg_replace('/<img[^>]+>/is', '', $content);
-                       }
-
-                       print "<p>$content</p>";
-
-            print "<div class='nav'>
-                    <label>Navigation</label>
-                    <div class='button left' onclick='goPrev($id, $feed_id, this)'>Prev</div>
-                    <div class='button right' onclick='goNext($id, $feed_id, this)'>Next</div>
-                  </div>";
-
-                       print "<fieldset>";
-
-                       print "<div class=\"row\">
-                       <label>Starred</label>
-                       <div class=\"toggle\" onclick=\"toggleMarked($id, this)\" toggled=\"$is_starred\"><span class=\"thumb\"></span><span class=\"toggleOn\">ON</span><span class=\"toggleOff\">OFF</span></div>
-                   </div>";
-
-                       print "<div class=\"row\">
-                       <label>Published</label>
-                       <div class=\"toggle\" onclick=\"togglePublished($id, this)\" toggled=\"$is_published\"><span class=\"thumb\"></span><span class=\"toggleOn\">ON</span><span class=\"toggleOff\">OFF</span></div>
-                   </div>";
-
-                       print "<div class=\"row\">
-                       <label>Unread</label>
-                       <div class=\"toggle\" onclick=\"toggleUnread($id, this)\" toggled=\"$is_unread\"><span class=\"thumb\"></span><span class=\"toggleOn\">ON</span><span class=\"toggleOff\">OFF</span></div>
-                   </div>";
-
-
-                       print "</fieldset>";
-
-                       print "</div>";
-
-               }
-       }
-?>
diff --git a/plugins/mobile/mobile.css b/plugins/mobile/mobile.css
deleted file mode 100644 (file)
index 8068e3d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-div.nav {
-    height: 40px;
-    -webkit-border-radius: 10px;
-    -moz-border-radius: 10px;
-    background-color: #ffffff;
-    border: 1px solid #999999;
-    text-align: center;
-    margin-bottom: 1em;
-}
-div.nav label {
-    line-height: 40px;
-    color: black;
-    font-weight: bold;
-}
-div.nav .button {
-    position: static;
-    margin: 5px 10px;
-    -webkit-border-image: url(../lib/iui/whiteButton.png) 0 12 0 12;
-    text-shadow: rgba(255, 255, 255, 0.7) 0 1px 0;
-    color: black;
-    cursor: pointer; /* On a touch screen ? */
-}
-div.nav .button.left {
-    float: left;
-}
-div.nav .button.right {
-    float: right;
-}
-
-ul li a.read {
-    color: #666666;
-}
-
-ul li span.browse {
-       color : #909090;
-       text-align : right;
-       float : right;
-}
diff --git a/plugins/mobile/mobile.js b/plugins/mobile/mobile.js
deleted file mode 100644 (file)
index 3fed3a1..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-var backend = "backend.php";
-
-function toggleMarked(id, elem) {
-
-       var toggled = false;
-
-       if (elem.getAttribute("toggled") == "true") {
-               toggled = 1;
-       } else {
-               toggled = 0;
-       }
-
-       var query = "op=toggleMarked&id=" + id + "&mark=" + toggled;
-
-       new Ajax.Request(backend, {
-               parameters: query,
-               onComplete: function (transport) {
-                       //
-               } });
-}
-
-function togglePublished(id, elem) {
-
-       var toggled = false;
-
-       if (elem.getAttribute("toggled") == "true") {
-               toggled = 1;
-       } else {
-               toggled = 0;
-       }
-
-       var query = "op=togglePublished&id=" + id + "&pub=" + toggled;
-
-       new Ajax.Request(backend, {
-               parameters: query,
-               onComplete: function (transport) {
-                       //
-               } });
-
-}
-
-function toggleUnread(id, elem) {
-
-       var toggled = false;
-
-       if (elem.getAttribute("toggled") == "true") {
-               toggled = 1;
-       } else {
-               toggled = 0;
-       }
-
-       var query = "op=toggleUnread&id=" + id + "&unread=" + toggled;
-
-       new Ajax.Request(backend, {
-               parameters: query,
-               onComplete: function (transport) {
-                       //
-               } });
-
-}
-
-function setPref(elem) {
-       var toggled = false;
-       var id = elem.id;
-
-       if (elem.getAttribute("toggled") == "true") {
-               toggled = 1;
-       } else {
-               toggled = 0;
-       }
-
-       var query = "op=setPref&id=" + id + "&to=" + toggled;
-
-       new Ajax.Request(backend, {
-               parameters: query,
-               onComplete: function (transport) {
-                       //
-               } });
-
-}
-
-// Go directly to another item in the same feed
-function goToSibling(article_id, feed_id, link, step) {
-    var links = linksInFeed(feed_id);
-    for (var i=0 ; i<links.length ; i++) {
-        var re = new RegExp(".*article\\.php\\?id="+article_id+"&.*");
-        if (!re.test(links[i].href)) continue;
-        // here, we've found the current article
-        var index = i + step;
-        if (index < 0) {
-            markAsRead(feed_id);
-            iui.showPage($("feed-"+feed_id), true);
-            return false;
-        }
-        if (index >= links.length) {
-            showRestOfFeed(feed_id);
-            return false;
-        }
-        console.log(links[index]);
-        var match = links[index].href.match(/.*article\.php\?(.*)/);
-        var qs = match[1];
-        var backwards = false;
-        if (step < 0) backwards = true;
-        link.setAttribute("selected", "progress");
-        function unselect() { link.removeAttribute("selected"); }
-        iui.showPageByHref("article.php?"+qs, null, null, null, unselect, backwards);
-        return false;
-    }
-    return false;
-}
-function goPrev(article_id, feed_id, link) {
-    return goToSibling(article_id, feed_id, link, -1);
-}
-function goNext(article_id, feed_id, link) {
-    return goToSibling(article_id, feed_id, link, 1);
-}
-
-// Get all the links in the feed. The all_links variable includes the "get more article" link
-function linksInFeed(feed_id, all_links) {
-    var feed_content = $("feed-"+feed_id);
-    var links_raw = feed_content.getElementsByTagName("a");
-    if (all_links) return links_raw;
-    var links = [];
-    // filter the array to remove the "get more articles" link
-    // and the "search" link (which is always first)
-    for (var i=1 ; i<links_raw.length ; i++) {
-        if (links_raw[i].href.match(/.*article\.php\?id=.*/)) {
-            links.push(links_raw[i]);
-        }
-    }
-    return links;
-}
-
-// Adds the "read" class to all read links in the feed
-function markAsRead(feed_id) {
-    var links = linksInFeed(feed_id);
-    for (var j=0 ; j<links.length ; j++) {
-        var match = links[j].href.match(/.*article\.php\?id=(\d+)&.*/);
-        if ($("article-"+match[1])) {
-            links[j].className = "read";
-        }
-    }
-}
-
-// Go the the articles list and expand the "get more articles" link
-function showRestOfFeed(feed_id) {
-    var links_raw = linksInFeed(feed_id, true);
-    var lastlink = links_raw[links_raw.length - 1];
-    if (lastlink.target == "_replace") {
-        // It's a "get more articles" link
-        iui.showPage($("feed-"+feed_id), true);
-        // Mark old items a "read"
-        markAsRead(feed_id);
-        // Simulate click on the "get more articles" link
-        lastlink.setAttribute("selected", "progress");
-        function unselect() { lastlink.removeAttribute("selected"); }
-        setTimeout(window.scrollTo, 0, 0, 1000);
-        iui.showPageByHref(lastlink.href, null, null, lastlink, unselect);
-    } else {
-        iui.showPage($("home"), true);
-    }
-}
-
diff --git a/plugins/mobile/prefs.php b/plugins/mobile/prefs.php
deleted file mode 100644 (file)
index 9c63035..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-       error_reporting(E_ERROR | E_WARNING | E_PARSE);
-
-       header('Content-Type: text/html; charset=utf-8');
-
-       define('MOBILE_VERSION', true);
-
-       $basedir = dirname(dirname(dirname(__FILE__)));
-
-       set_include_path(
-               dirname(__FILE__) . PATH_SEPARATOR .
-               $basedir . PATH_SEPARATOR .
-               "$basedir/include" . PATH_SEPARATOR .
-               get_include_path());
-
-       $basedir = dirname(dirname(__FILE__));
-
-       require_once "config.php";
-       require_once "mobile-functions.php";
-
-       login_sequence(true);
-?>
-
-<div class="panel" id="prefs" selected="yes" title="Preferences"
-       myBackLabel="<?php echo __('Home') ?>" myBackHref="home.php">
-
-<fieldset>
-
-<div class="row">
-       <label><?php echo __('Enable categories') ?></label>
-       <div class="toggle" id="ENABLE_CATS" onclick="setPref(this)" toggled="<?php echo mobile_pref_toggled("ENABLE_CATS") ?>"><span class="thumb"></span><span class="toggleOn"><?php echo __('ON') ?></span><span class="toggleOff"><?php echo __('OFF') ?></span></div>
-</div>
-
-<div class="row">
-       <label><?php echo __('Browse categories like folders') ?></label>
-       <div class="toggle" id="BROWSE_CATS" onclick="setPref(this)" toggled="<?php echo mobile_pref_toggled("BROWSE_CATS") ?>"><span class="thumb"></span><span class="toggleOn"><?php echo __('ON') ?></span><span class="toggleOff"><?php echo __('OFF') ?></span></div>
-</div>
-
-
-<div class="row">
-       <label><?php echo __('Show images in posts') ?></label>
-       <div class="toggle" id="SHOW_IMAGES" onclick="setPref(this)" toggled="<?php echo mobile_pref_toggled("SHOW_IMAGES") ?>"><span class="thumb"></span><span class="toggleOn"><?php echo __('ON') ?></span><span class="toggleOff"><?php echo __('OFF') ?></span></div>
-</div>
-
-<div class="row">
-       <label><?php echo __('Hide read articles and feeds') ?></label>
-       <div class="toggle" id="HIDE_READ" onclick="setPref(this)" toggled="<?php echo mobile_pref_toggled("HIDE_READ") ?>"><span class="thumb"></span><span class="toggleOn"><?php echo __('ON') ?></span><span class="toggleOff"><?php echo __('OFF') ?></span></div>
-</div>
-
-<div class="row">
-       <label><?php echo __('Sort feeds by unread count') ?></label>
-       <div class="toggle" id="SORT_FEEDS_UNREAD" onclick="setPref(this)" toggled="<?php echo mobile_pref_toggled("SORT_FEEDS_UNREAD") ?>"><span class="thumb"></span><span class="toggleOn"><?php echo __('ON') ?></span><span class="toggleOff"><?php echo __('OFF') ?></span></div>
-</div>
-
-<div class="row">
-       <label><?php echo __('Reverse headline order (oldest first)') ?></label>
-       <div class="toggle" id="REVERSE_HEADLINES" onclick="setPref(this)" toggled="<?php echo mobile_pref_toggled("REVERSE_HEADLINES") ?>"><span class="thumb"></span><span class="toggleOn"><?php echo __('ON') ?></span><span class="toggleOff"><?php echo __('OFF') ?></span></div>
-</div>
-
-</fieldset>
diff --git a/prefs.css b/prefs.css
deleted file mode 100644 (file)
index 254de4f..0000000
--- a/prefs.css
+++ /dev/null
@@ -1,141 +0,0 @@
-html, body#ttrssPrefs, #main {
-       width: 100%; 
-       height: 100%;
-       border: 0; 
-       padding: 0; 
-       margin: 0;
-} 
-
-#header a {
-       color : #4684ff;        
-}
-
-#header a:hover {
-       color : black;
-}
-
-#header img {
-       vertical-align : middle;
-       cursor : pointer;
-}
-
-
-div#pref-tabs .dijitContentPane {
-       font-size : 12px;
-}
-
-div#pref-tabs {
-       margin : 0px 5px 0px 5px;
-}
-
-div#pref-tabs .dijitContentPane h3 {
-       font-size : 14px;
-       font-weight : bold;
-}
-
-#pref-filter-wrap, #pref-filter-header, #pref-filter-content, 
-#pref-label-wrap, #pref-label-header, #pref-label-content,
-#pref-user-wrap, #pref-user-header, #pref-user-content, 
-#pref-instance-wrap, #pref-instance-header, #pref-instance-content {
-       margin : 0px;
-       padding : 0px;
-       border-width : 0px;
-}
-
-#userConfigTab, #labelConfigTab, #filterConfigTab, #pref-feeds-feeds, #instanceConfigTab { 
-       padding : 0px;
-}
-
-/* preferences */
-
-table.prefPrefsList h3 {
-       margin-top : 0.5em;
-       margin-bottom : 0px;
-}
-
-tr.title td {
-       border-width : 0px 0px 1px 0px;
-       border-color : #ecf4ff;
-       border-style : solid;
-       color : #4684ff;
-}
-
-tr.title td a {
-       color : #4684ff;
-}
-
-tr.title td a:hover {
-       color : black;
-}
-
-div.prefProfileHolder, div.prefFeedOPMLHolder, div.inactiveFeedHolder {
-       height : 300px;
-       overflow : auto;
-       border-width : 0px 1px 1px 1px;
-       border-color : #c0c0c0;
-       border-style : solid;
-       margin : 0px 0px 5px 0px;
-       background-color : #ecf4ff;
-}
-div.filterTestHolder, div.prefFeedOPMLHolder {
-       border-width : 1px;
-}
-
-ul.selfUpdateList {
-       height : 200px;
-       overflow : auto;
-       list-style-type : none;
-       border : 1px solid #c0c0c0;
-       background-color : #ecf4ff;
-       margin : 0px 0px 5px 0px;
-       padding : 5px;
-}
-
-div#feedlistLoading, div#filterlistLoading, div#labellistLoading {
-       text-align : center;
-       padding : 5px;
-       color : gray;
-}
-
-div#feedlistLoading img, div#filterlistLoading img, div#labellistLoading {
-       margin-right : 5px;
-}
-
-#errorButton {
-       color : red;
-}
-
-a.bookmarklet {
-       color : #4684ff;
-       border : 1px solid #ecf4ff;
-       padding : 2px;
-}
-
-table.prefPluginsList td label, table.prefUserList td {
-       cursor : pointer;
-}
-
-ul.userFeedList {
-       height : 300px;
-       overflow : auto;
-       list-style-type : none;
-       border : 1px solid gray;
-       background-color : white;
-       margin : 0px 0px 5px 0px;
-       padding : 0px;
-}
-
-table.prefErrorLog tr.errrow td {
-       font-size : 10px;
-}
-
-table.prefErrorLog tr.errrow td.errno {
-       font-style : italic;
-       font-weight : bold;
-       white-space : nowrap;
-}
-
-table.prefErrorLog td.filename, table.prefErrorLog td.login, table.prefErrorLog td.timestamp {
-       color : gray;
-}
-
index 9bf610a53ad1daa9508827184278c05fb3528b66..fcf21cf2e8a71169f2ae345d708716ee8be7a458 100644 (file)
--- a/prefs.php
+++ b/prefs.php
 <head>
        <title>Tiny Tiny RSS : <?php echo __("Preferences") ?></title>
 
-       <?php echo stylesheet_tag("lib/dijit/themes/claro/claro.css"); ?>
-       <?php echo stylesheet_tag("tt-rss.css"); ?>
-       <?php echo stylesheet_tag("prefs.css"); ?>
+       <?php stylesheet_tag("lib/dijit/themes/claro/claro.css"); ?>
+       <?php stylesheet_tag("css/layout.css"); ?>
 
        <?php if ($_SESSION["uid"]) {
                $theme = get_pref( "USER_CSS_THEME", $_SESSION["uid"], false);
-               if ($theme) {
-                       echo stylesheet_tag("themes/$theme");
+               if ($theme && file_exists("themes/$theme")) {
+                       stylesheet_tag("themes/$theme");
+               } else {
+                       stylesheet_tag("themes/default.css");
                }
        }
        ?>
        foreach (array("lib/prototype.js",
                                "lib/scriptaculous/scriptaculous.js?load=effects,dragdrop,controls",
                                "lib/dojo/dojo.js",
-                               "lib/dijit/dijit.js",
-                               "lib/CheckBoxTree.js",
                                "lib/dojo/tt-rss-layer.js",
                                "errors.php?mode=js") as $jsfile) {
 
-               echo javascript_tag($jsfile);
+               javascript_tag($jsfile);
 
        } ?>
 
        <script type="text/javascript">
+               require({cache:{}});
        <?php
                require 'lib/jshrink/Minifier.php';
 
@@ -72,7 +72,7 @@
                        }
                }
 
-               print get_minified_js(array("functions", "deprecated", "prefs", "PrefFeedTree", "PrefFilterTree", "PrefLabelTree"));
+               print get_minified_js(array("../lib/CheckBoxTree","functions", "deprecated", "prefs", "PrefFeedTree", "PrefFilterTree", "PrefLabelTree"));
 
                init_js_translations();
        ?>
index 5bc6563b0829c6a449ab243ac4ec22e0d3a2ab3f..f50ef14a4013702fe4733a2508b0196dc010872f 100644 (file)
@@ -93,7 +93,7 @@
 <head>
 <title>Create new account</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<link rel="stylesheet" type="text/css" href="utility.css">
+<link rel="stylesheet" type="text/css" href="css/utility.css">
 <script type="text/javascript" src="js/functions.js"></script>
 <script type="text/javascript" src="lib/prototype.js"></script>
 <script type="text/javascript" src="lib/scriptaculous/scriptaculous.js?load=effects,dragdrop,controls"></script>
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..83e15257beaadee1d3ee5444bfabbf4cb0e1d3e8 100644 (file)
@@ -0,0 +1,3 @@
+@import "../css/tt-rss.css";
+@import "../css/cdm.css";
+@import "../css/prefs.css";
diff --git a/tt-rss.css b/tt-rss.css
deleted file mode 100644 (file)
index 454e2ff..0000000
+++ /dev/null
@@ -1,1036 +0,0 @@
-body#ttrssMain, body#ttrssPrefs, body#ttrssLogin, body {
-       background : white;
-       color : black;
-       margin : 0px;
-       padding : 0px;
-       font-family : sans-serif;
-       font-size : 12px;
-}
-
-body#ttrssPrefs {
-       background-color : #ecf4ff;
-}
-
-body#ttrssPrefs #footer, body#ttrssPrefs #header {
-       background-color : #ecf4ff; 
-       padding-left : 8px;
-       padding-right : 8px;
-}
-
-div.postReply {
-       padding : 0px;
-}
-
-div.postReply a {
-       color : #4684ff;
-}
-
-div.postReply a:hover {
-       color : black;
-}
-
-div.postReply div.postHeader {
-       border-width : 0px 0px 1px 0px;
-       border-style : solid;
-       border-color : #c0c0c0;
-       background : #fafafa;
-       box-shadow : 0px 0px 3px 0px #ccc;
-       padding : 5px;
-       color : #909090;
-}
-
-div.postReply div.postTitle {
-       overflow : hidden;
-       text-overflow: ellipsis;
-       white-space : nowrap;
-}
-
-div.postReply div.postDate {
-       padding-left : 10px;
-}
-
-div.postReply div.postContent {
-       padding : 10px;
-       font-size : 12px;
-}
-
-div.postReply div.postContent img {
-       border-width : 0px;
-       max-width : 98%;
-       height: auto;
-}
-
-div.postReply div.postEnclosures {
-       margin-top : 1em;
-       color : gray;
-}
-
-div.postReply img.tagsPic {
-       width : 16px;
-       height : 16px;
-       margin-left : 4px;
-       vertical-align : middle;
-}
-
-div.articleNote {
-       background-color : #fff7d5;
-       padding : 5px;
-       border-style : none none dashed none;
-       border-color : #e7d796;
-       border-width : 1px;
-       background-color : #fff7d5;
-       color : #9a8c59;
-}
-
-div.articleNote div.noteEdit {
-       float : right;
-       cursor : pointer;
-}
-
-div.postReply span.author {
-       font-size : 12px;
-}
-
-h1 {
-       font-size : 18px;
-}
-
-h2 {
-       font-size : 16px;
-       font-weight : bold;
-       border-width : 0px 0px 1px 0px;
-       border-style : solid;
-       border-color : #ecf4ff;
-}
-
-h3 {
-       font-size : 12px;
-       font-weight : bold;
-       border-width : 0px 0px 1px 0px;
-       border-style : solid;
-       border-color : #ecf4ff;
-}
-
-hr {
-       border-width : 0px 0px 1px 0px;
-       border-style : dashed;
-       border-color : #e0e0e0;
-}
-
-a {
-       color : black;
-       text-decoration : none;
-}
-
-a:hover {
-       color : #4684ff;
-}
-
-#piggie {
-       z-index : 999;
-       position : absolute;
-}
-
-#notify {
-       bottom : 10px;
-       right : 10px;
-       border-width : 1px;
-       border-style : solid;
-       position : absolute;    
-       font-size : 12px;
-       z-index : 99;
-       padding : 5px;
-       min-width : 200px;
-       box-shadow : 0px 0px 2px #ccc;
-}
-
-#notify img {
-       vertical-align : middle;
-       max-height : 14px;
-}
-
-#notify span.msg {
-       width : 100%;
-}
-
-#notify span.close {
-       text-align : right;
-}
-
-#notify span {
-       display : table-cell;
-       vertical-align : middle;
-       padding : 4px;
-}
-
-.notify {
-       border-color : #d7c47a;
-       background-color : #fff7d5;
-}
-
-.notify.progress {
-       border-color : #d7c47a;
-       background-color : #fff7d5;
-}
-
-.notify.info {
-       border-color : #88b0f0;
-       background-color : #ecf4ff;
-}
-
-.notify.error {
-       background-color : #ffcccc;
-       border-color : #ff0000;
-}
-
-.hl.Unread div.hlTitle {
-       font-weight : bold;
-}
-
-.hl.even.Grayed {
-       background : #f0f0f0;
-       color : #909090;
-       border-width : 0px 0px 1px 0px;
-       border-style : solid;
-       border-color : #c0c0c0;
-       border-collapse : collapse;
-}
-
-.hl.odd.Grayed {
-       color : #909090;
-}
-
-.hl {
-       border-width : 0px 1px 1px 0px;
-       border-style : solid;
-       border-color : #c0c0c0;
-}
-
-.hl.active {
-       background : #ecf4ff ! important;
-}
-
-.hl.even {
-       background : #f0f0f0;
-       border-collapse : collapse;
-}
-
-.hl.odd {
-       background : white;
-}
-
-div.filterTestHolder {
-       height : 300px;
-       overflow : auto;
-       border-color : #c0c0c0;
-       border-style : solid;
-       margin : 0px 0px 5px 0px;
-       background-color : #ecf4ff;
-       border-width : 1px 1px 1px 1px;
-}
-
-
-#content-insert blockquote, #headlines-frame blockquote, .dijitContentPane blockquote {
-       margin : 5px 0px 5px 0px;
-       padding : 10px;
-       color : gray;
-       border-width : 0px 0px 0px 3px;
-       border-color : #c0c0c0;
-       border-style : solid;
-       background : #fafafa;
-}
-
-#content-insert code, #headlines-frame code, .dijitContentPane code {
-       color : #009900;
-       font-family : monospace;
-       font-size : 12px;
-}
-
-#content-insert pre, #headlines-frame pre, .dijitContentPane pre {
-       margin : 5px 0px 5px 0px;
-       padding : 10px;
-       color : gray;
-       font-family : monospace;
-       font-size : 12px;
-       border-width : 0px;
-       border-color : #c0c0c0;
-       border-style : solid;
-       background : #fafafa;
-       display : block;
-       max-width : 98%;
-       overflow : auto;
-}
-
-div.notice, div.warning, div.error {
-       padding : 4px 10px 4px 4px;
-       display : inline-block;
-       margin : 2px 0px 4px 0px;
-       font-size : 12px;
-       box-shadow : 0px 0px 2px #ccc;
-}
-
-div.notice div.inner, div.warning div.inner, div.error div.inner {
-       vertical-align : middle;
-}
-
-div.notice {
-       background : #ecf4ff;
-}
-
-div.warning {
-       background : #fff7d5;
-}
-
-div.error {
-       background : #ffcccc;
-}
-
-div.warning img, div.notice img, div.error img {
-       margin-right : 4px;
-       vertical-align : middle;
-}
-
-div.warning span, div.notice span, div.error span {
-       display : table-cell;
-       vertical-align : middle;
-
-}
-
-ul.nomarks {
-       list-style-type : none;
-       margin : 0px;
-       padding : 10px; 
-}
-
-div.prefHelp {
-       color : gray;
-       padding : 5px;
-}
-
-span.feed_error {
-       color : red;
-}
-
-.insensitive {
-       color : gray;
-}
-
-.insensitive a {
-       color : #4684ff;
-}
-
-.insensitive a:hover {
-       color : black;
-}
-
-div#headlines-toolbar {
-       border-width : 0px 0px 1px 0px;
-       background-color : #f0f0f0;
-       border-color : #c0c0c0;
-       font-size : 11px;
-       font-family : "Segoe UI", Tahoma, sans-serif;
-       color : gray;
-       padding : 0px;
-       margin : 0px;
-       overflow : hidden;
-       height : 25px;
-       line-height : 25px;
-       padding-left : 4px;
-}
-
-div#headlines-toolbar .dijitSelect {
-       font-size : 11px;
-       position : relative;
-       top : -2px;
-}
-
-div#headlines-toolbar span.r {
-       float: right;
-   position: relative;
-       padding : 0 4px 0px 4px;
-       text-align : right;
-}      
-
-div#headlines-toolbar span.r span.error {
-       color : red;
-} 
-
-div#headlines-toolbar span.r a {
-       color : gray;
-}
-
-div#headlines-toolbar span.r a:hover {
-       color : black;
-}
-
-span.contentPreview {
-       color : gray;
-       font-weight : normal;
-}
-
-span.contentPreview:hover {
-       color : #4684ff;
-}
-
-span.hlLabelRef {
-       background-color : #fff7d5;     
-       font-size : 8px;
-       color : #063064;
-       font-weight : normal;
-       margin : 0px 3px 0px 3px;
-       padding : 0px 4px 0px 4px;
-       white-space: nowrap;
-}
-
-div.postHeader div.postDate {
-       text-align : right;
-       color : gray;
-       float : right;
-}
-
-div.postHeader div {
-       padding-bottom : 3px;
-       font-size : 12px;
-}
-
-#feedUpdateErrors {
-       display : none;
-}
-
-#allEntryTags {
-       font-size : 12px;
-       border-width : 0px 0px 1px 0px;
-       border-style : solid;
-       border-color : #c0c0c0;
-       padding-bottom : 5px;
-       display : none;
-}
-
-div.hlFeed, div.hlFeed a {
-       font-size : 10px;
-       color : gray;
-       font-style : italic;
-       font-weight : normal;
-       white-space: nowrap;
-}
-
-div.hlFeed a:hover {
-       color : #4684ff;
-}
-
-img.markedPic, img.pubPic {
-       cursor : pointer;
-       vertical-align : middle;
-}
-
-div.tagCloudContainer {
-       border : 1px solid #c0c0c0;
-       background-color : #ecf4ff;
-       margin : 5px 0px 5px 0px;
-       padding : 5px;
-       text-align : center;
-}
-
-div.errorExplained {
-       border : 1px solid #c0c0c0;
-       background-color : #ecf4ff;
-       margin : 5px 0px 5px 0px;
-       padding : 5px;
-}
-
-ul.feedErrorsList {
-       max-height : 300px;
-       overflow : auto;
-       list-style-type : none;
-       border : 1px solid #c0c0c0;
-       background-color : #ecf4ff;
-       margin : 0px 0px 5px 0px;
-       padding : 5px;
-}
-
-ul.feedErrorsList em {
-       color : gray;
-}
-
-ul.browseFeedList {
-       height : 300px;
-       overflow : auto;
-       border-width : 0px 1px 1px 1px;
-       border-color : #c0c0c0;
-       border-style : solid;
-       margin : 0px 0px 5px 0px;
-       background-color : white;
-       list-style-type : none;
-       padding : 0px;
-
-}
-
-ul.browseFeedList li {
-       margin : 0px;
-       padding : 2px 4px 2px 4px;
-}
-
-span.subscribers {
-       color : #808080;
-}
-
-div.subscribers {
-       color : #808080;
-       font-size : 12px;
-       float : right;
-}
-
-div.browserDetails {
-       margin : 5px 5px 5px 5px;
-       padding : 5px;
-}
-
-ul.compact {
-       list-style-type : none;
-       margin : 0px;
-       padding : 0px;
-}
-
-ul.compact li {
-       margin : 0px;
-       padding : 0px;
-}
-
-.noborder {
-       border-width : 0px;
-}
-
-#overlay {
-       background : white;
-       left : 0;
-       top : 0;
-       height : 100%;
-       width : 100%;
-       z-index : 100;
-       position : absolute;
-}
-
-#overlay_inner {
-       font-weight : bold;
-       margin : 1em;
-}
-
-form {
-       margin : 0px;
-       padding : 0px;
-}
-
-#main_toolbar_form {
-       margin : 0px;
-       padding : 0px;
-       display : table-cell;
-       white-space : nowrap;
-       width : 100%;
-}
-
-div.loadingPrompt {
-       padding : 1em;
-       text-align : center;
-       font-weight : bold;
-}
-
-div.whiteBox {
-       margin-left : 1px;
-       text-align : center;
-       padding : 1em;
-}
-
-html, body#ttrssMain, #main {
-       width: 100%; 
-       height: 100%;
-       border: 0; 
-       padding: 0; 
-       margin: 0;
-} 
-
-#toolbar div.actionChooser {
-       display : table-cell;
-       text-align : right;
-       padding-right : 3px;
-}
-
-div.autocomplete {
-       position : absolute;
-       width : 250px;
-       background-color : white;
-       border :1px solid #778899;
-       margin : 0px;
-       padding : 0px;
-}
-
-div.autocomplete ul {
-       list-style-type : none;
-       margin : 0px;
-       padding : 0px;
-}
-
-div.autocomplete ul li.selected { 
-       background-color : #fff7d5;
-}
-
-div.autocomplete ul li {
-       list-style-type : none;
-       display : block;
-       margin : 0;
-       padding : 2px;
-       height : 32px;
-       cursor : pointer;
-}
-
-a.visibleLink {
-       color : #4684ff;
-}
-
-.hlContentH a, .hlContentH span {
-       color : #00cc00;
-}
-
-.hlContentL a, .hlContentL span {
-       color : #909090;
-       text-decoration : line-through;
-}
-
-span.titleWrapH, span.titleWrapH a {
-       color : #00cc00;
-}
-
-span.titleWrapL, span.titleWrapL a {
-       color : #909090;
-       text-decoration : line-through;
-}
-
-img.hlScorePic {
-       vertical-align : middle;
-       width : 16px;
-       height : 16px;
-}
-
-div.dlgSec {
-       font-size : 12px;
-       color : gray;
-       font-weight : bold;
-       clear : both;
-       height : 20px;
-}
-
-div.dlgSecCont {
-       position : relative;
-       left : 150px;
-       top : -20px;
-       float : left;
-       font-size : 12px;
-       font-weight : normal;
-}
-
-div.dlgSecCont hr {
-       height : 0px;
-       line-height : 0px;
-       border : 0px solid transparent;
-       margin : 2px;
-}
-
-div.dlgSecCont > * {
-       position : relative;
-       top : -2px;
-}
-
-div.dlgButtons {
-       text-align : right;
-       clear : both;
-}
-
-span.labelColorIndicator {
-       height : 14px;
-       width : 14px;
-       line-height : 14px;
-       font-size : 9px;
-       display : inline-block;
-       border : 1px solid black;
-       background-color : #fff7d5;     
-       color : #063064;
-       text-align : center;
-       margin-right : 2px;
-}
-
-span.labelColorIndicator2 {
-       height : 14px;
-       width : 14px;
-       font-size : 9px;
-       display : inline-block;
-       border : 1px solid black;
-       background-color : #fff7d5;     
-       color : #063064;
-       text-align : center;
-       margin-right : 2px;
-       vertical-align : bottom;
-}
-
-div#cmdline {
-       position : absolute;
-       left : 5px;
-       bottom : 5px;
-       font-size : 11px;
-       color : gray;
-       font-weight : bold;
-       background-color : white;
-       border : 1px solid #88b0f0;
-       padding : 3px 5px 3px 5px;
-       z-index : 5;
-}
-
-#feed_browser_spinner {
-       vertical-align : middle;
-       height : 18px;
-       width : 18px;
-}
-
-div.hlTitle {
-       display : table-cell;
-       cursor : pointer;
-       width : 100%;
-       vertical-align : middle;
-       padding-top : 4px;
-       padding-bottom : 4px;
-}
-
-div.hlLeft {
-       display : table-cell;
-       vertical-align : middle;
-       white-space: nowrap;
-}
-
-div.hlRight {
-       display : table-cell;
-       white-space: nowrap;
-       text-align : right;
-       vertical-align : middle;
-}
-
-div.hlRight img {
-       max-width : 16px;
-       max-height : 16px;
-}
-
-span.hlUpdated {
-       color : gray;
-       min-width : 100px;
-       display : table-cell;
-       width : 100%;
-       vertical-align : middle;
-       text-align : right;
-       font-size : 10px;
-       font-weight : normal;
-}
-
-div.hlLeft {
-       padding-left : 8px;
-}
-
-div.hlLeft input {
-       margin-left : 4px;
-       margin-right : 4px;
-}
-
-div.hlLeft img, div.hlRight img {
-       margin : 0px 4px 0px 4px;
-}
-
-div.hlLeft img {
-       width : 16px;
-       height : 16px;
-}
-
-div.fatalError {
-       margin-bottom : 10px;
-}
-
-div.fatalError button {
-       margin-top : 5px;
-}
-
-div.fatalError textarea {
-       width : 100%;
-       height : 100px;
-}
-
-#main {
-       border-width : 0px;
-       margin : 0px;
-       padding : 0px;
-}
-
-#header-wrap {
-       border-width : 0px;
-       margin : 0px;
-       padding : 0px;
-}
-
-#content-wrap {
-       padding : 0px;
-       border-width : 0px 0px 1px 1px;
-       border-style : solid;
-       border-color : #c0c0c0;
-       margin : 0px;
-}
-
-#feeds-holder {
-       padding : 0px;
-       border-color : #88b0f0;
-       border-left-width : 0px;
-       border-bottom-width : 0px;
-       border-top-width : 0px;
-       overflow : auto;
-}
-
-#headlines-wrap-inner {
-       padding : 0px;
-       margin : 0px;
-       border-width : 0px;
-}
-
-#feedTree {
-       overflow : visible;
-}
-
-#headlines-frame {
-       padding : 0px;
-       border-color : #88b0f0;
-       border-left-width : 0px;
-       border-right-width : 0px;
-       margin-top : 0px;
-       border-top-width : 0px;
-}
-
-#headlines-toolbar_splitter, #toolbar_splitter {
-       display : none;
-}
-
-#toolbar {
-       padding : 0px;
-       margin : 0px;
-       border-width : 0px;
-       white-space: nowrap;
-       font-size : 11px;
-}
-
-#header {
-       border-width : 0px;
-       text-align : right;
-       color : gray;
-       padding : 5px 5px 0px 0px;
-       margin : 0px;
-       position : absolute;
-       right : 0px;
-       top : 0px;
-       z-index : 5;
-}
-
-#footer {
-       text-align : center;
-       color : gray;
-       padding : 4px 4px 8px 4px;
-       border-width : 0px;
-}
-
-#content-insert {
-       padding : 0px;
-       border-color : #88b0f0;
-       border-bottom-width : 0px;
-       border-right-width : 0px;
-       border-left-width : 0px;
-       overflow : auto;
-}
-
-.dijitTreeLabel.Unread {
-       font-weight : bold;
-}
-
-.feedParam {
-       color : gray;
-       float : right;
-       margin-right : 1em;
-}
-
-.labelParam {
-       float : right;
-       margin-right : 1em;
-}
-
-.dijitTreeLabel.Disabled, .labelParam.Disabled {
-       color : gray;
-}
-
-.dijitTreeRow.Error {
-       color : red;
-}
-
-.dijitTreeRow.Hidden {
-       display : none;
-}
-
-img.feedIcon, img.tinyFeedIcon {
-       width : 16px;
-       height : 16px;
-       vertical-align : middle;
-       display : inline-block;
-}
-
-.dijitDialog .dijitToolbar {
-       border : 1px solid #c0c0c0;
-}
-
-.dijitDialog h2 {
-       margin-top : 0px;
-       margin-bottom : 4px;
-       border-width : 0px;
-}
-
-.player {
-       display : inline-block;
-       color : gray;
-       font-size : 11px;
-       font-family : sans-serif;
-       border : 1px solid gray;
-       padding : 0px 4px 0px 4px;
-       margin : 0px 2px 0px 2px;
-       width : 50px;
-       text-align : center;
-       background : white;
-}
-
-.player.playing {
-       color : #00c000;
-       border-color : #00c000;
-}
-
-.player:hover {
-       background : #f0f0f0;
-       cursor : pointer;
-}
-
-#headlines-spacer {
-       height : 100%;
-       margin-left : 1px;
-       text-align : center;
-       padding : 1em;
-       color : gray;
-}
-
-ul#filterDlg_Matches, ul#filterDlg_Actions {
-       max-height : 100px;
-       overflow : auto;
-       list-style-type : none;
-       border-style : solid;
-       border-color : #c0c0c0;
-       border-width : 0px 1px 1px 1px;
-       background-color : #ecf4ff;
-       margin : 0px 0px 5px 0px;
-       padding : 0px;
-}
-
-ul#filterDlg_Matches li, ul#filterDlg_Actions li {
-       cursor : pointer;
-       padding : 0px 0px 0px 5px;
-}
-
-ul#filterDlg_Matches li div.dijitCheckBox, ul#filterDlg_Actions li div.dijitCheckBox {
-       margin-right : 5px;
-}
-
-ul.helpKbList {
-       max-height : 300px;
-       overflow : auto;
-       list-style-type : none;
-       border : 1px solid #c0c0c0;
-       background-color : #ecf4ff;
-       margin : 0px 0px 5px 0px;
-       padding : 5px;
-}
-
-ul.helpKbList span.hksequence {
-       width : 6em;
-       margin-left : 20px;
-       color : #88b0f0;
-       font-weight : bold;
-       display : inline-block;
-}
-
-ul.helpKbList h2 {
-       margin-top : 0px;
-}
-
-.dijitTreeNode .loadingNode {
-       margin-left : 3px;
-}
-
-span.collapseBtn {
-       cursor : pointer;
-}
-
-div.postContent p {
-       max-width : 650px;
-}
-
-div.postContent iframe {
-       min-width : 50%;
-}
-
-div.postHeader span.author {
-       color : gray;
-       font-size : 11px;
-       font-weight : normal;
-}
-
-body#ttrssZoom {
-       margin-left : auto;
-       margin-right : auto;
-       padding : 2em;
-       max-width : 800px;
-       background : #f0f0f0;
-}
-
-body#ttrssZoom div.postContent p {
-       max-width : 650px;
-}
-
-body#ttrssZoom div.postReply {
-       border : 1px solid #ccc;
-       box-shadow : 0px 0px 3px #ccc;
-}
-
-body#ttrssZoom div.postContent {
-       background-color : white;
-}
-
-body#ttrssZoom div.footer {
-       margin-top : 1em;
-       text-align : center;
-}
-
-body#ttrssZoom div.postContent img {
-       max-width : 650px;
-       height : auto;
-}
-
-select.attachments {
-       display : block;
-       margin-top : 10px;
-       max-width : 120px;
-}
-
-div.hl.active {
-       border-color : #88b0f0;
-}
-
-div.hl.active a.title {
-       color : #4684ff;
-}
-
-#selected_prompt {
-       margin-right : 25px;
-}
index d4160c7ba1cc557367184ee0a959b52a6477e62d..0141b1a8e5c31a072c3ebfe8219ab412f587d689 100755 (executable)
@@ -47,7 +47,7 @@
                <head>
                <title>Tiny Tiny RSS data update script.</title>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-               <link rel="stylesheet" type="text/css" href="utility.css">
+               <link rel="stylesheet" type="text/css" href="css/utility.css">
                </head>
 
                <body>
                }
 
                update_daemon_common(isset($options["pidlock"]) ? 50 : DAEMON_FEED_LIMIT);
-               housekeeping_common(true);
+
+               if (!isset($options["pidlock"]) || $options["task"] == 0)
+                       housekeeping_common(true);
 
                PluginHost::getInstance()->run_hooks(PluginHost::HOOK_UPDATE_TASK, "hook_update_task", $op);
        }
        }
 
        if (isset($options["list-plugins"])) {
-               $tmppluginhost = new PluginHost(Db::get());
+               $tmppluginhost = new PluginHost();
                $tmppluginhost->load_all($tmppluginhost::KIND_ALL);
                $enabled = array_map("trim", explode(",", PLUGINS));
 
diff --git a/utility.css b/utility.css
deleted file mode 100644 (file)
index 50a54e1..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-body {
-       font-family : sans-serif;
-       font-size : 12px;
-       background : #eee;
-       margin-left : auto;
-       margin-right : auto;
-       max-width : 800px;
-}
-
-form {
-       margin : 10px 0px 0px 0px;
-       padding : 0px;
-}
-
-div.content {
-       background : white;
-       border : 1px solid #ccc;
-       padding : 10px;
-       box-shadow : 0px 0px 3px #ccc;
-}
-
-p.warning {
-       color : red;
-}
-
-p.query, code {
-       color : green;
-}
-
-p.insensitive {
-       color : gray;
-}
-
-div.insensitive-small {
-       color : gray;
-       font-size : 10px;
-}
-
-.floatingLogo {
-       float : right;
-       position : relative;
-       top : -10px;
-}
-
-a {
-       color : #4684ff;
-       text-decoration : none;
-}
-
-a:hover {
-       color : black;
-}
-
-div.notice, div.warning, div.error {
-       padding : 4px 10px 4px 4px;
-       display : inline-block;
-       margin : 2px 0px 2px 0px;
-       font-size : 12px;
-       box-shadow : 0px 0px 2px #ccc;
-}
-
-div.notice {
-       background : #ecf4ff;
-}
-
-div.warning {
-       background : #fff7d5;
-}
-
-div.error {
-       background : #ffcccc;
-}
-
-div.warning img, div.notice img, div.error img {
-       margin-right : 4px;
-       vertical-align : middle;
-}
-
-div.warning span, div.notice span, div.error span {
-       display : table-cell;
-       vertical-align : middle;
-}
-
-h1 {
-       color : #88b0f0;
-       font-size : 32px;
-       font-family : serif;
-       margin : 20px 0px 5px 0px;
-       text-shadow : 2px 2px 2px #fff;
-}
-
-h2 {
-       color : #88b0f0;
-       font-size : 14pt;
-       border-width : 0px 0px 1px 0px;
-       border-color : #f0f0f0;
-       border-style : solid; 
-}
-
-div.content > h2 {
-       margin-top : 0px;
-}
-
-div.rss h1 {
-       border-width : 0px 0px 1px 0px;
-       border-color : gray;
-       border-style : dotted;
-       color : gray;
-       margin-right : 90px;
-}
-
-div.rss h2 {
-       font-size : 12pt;
-}
-
-div.rss a.extlink {
-       color : gray;
-       border-width : 0px 0px 1px 0px;
-       border-color : #778899;
-       border-style : dotted;
-       font-size : 9pt;
-}
-
-div.rss img {
-       max-width : 775px;
-}
-
-div.rss p.description {
-       color : gray;
-       font-size : 9pt;
-}
-
-div.rss div.content {
-       margin-top : 0.5em;
-}
-
-div.rss img.feedicon {
-       float : right;
-}
-
-div.rss hr {
-       border-width : 0px 0px 1px 0px;
-       border-style : dashed;
-       border-color : #e0e0e0;
-}
-
-body#sharepopup {
-       background-color : white;
-       background-image : url("images/toolbar.png");
-       background-repeat : repeat-x;
-       background-position : bottom;
-       margin : 10px;
-       padding : 0px;
-}
-
-body#sharepopup h1 {
-       font-size : 14px;
-       margin : 0px;
-       color : #88b0f0;
-}
-
-body#sharepopup table {
-       background : white;
-       border : 1px solid #88b0f0;
-       padding : 5px;
-}
-
-body#sharepopup form { 
-       height : 100%;
-}
-
-body#sharepopup input { 
-       width : 100%;
-}
-
-div.autocomplete {
-       position : absolute;
-       width : 250px;
-       background-color : white;
-       border :1px solid #778899;
-       margin : 0px;
-       padding : 0px;
-       z-index : 4;
-}
-
-div.autocomplete ul {
-       list-style-type : none;
-       margin : 0px;
-       padding : 0px;
-       font-size : 10px;
-}
-
-div.autocomplete ul li.selected { 
-       background-color : #fff7d5;
-}
-
-div.autocomplete ul li {
-       list-style-type : none;
-       display : block;
-       margin : 0;
-       padding : 2px;
-       height : 32px;
-       cursor : pointer;
-}
-
-fieldset { 
-       border-width : 0px;
-       padding : 0px 0px 5px 0px;
-       margin : 0px;
-}
-
-fieldset input {
-       font-family : sans-serif;
-       font-size : medium;
-       border-spacing : 2px;
-       border : 1px solid #b5bcc7;
-       padding : 2px;
-}
-
-fieldset label {
-       width : 120px;
-       margin-right : 20px;
-       display : inline-block;
-       text-align : right;
-       color : gray;
-}
-
-body.otp {
-       margin : 1em;
-       padding : 0px;
-}
-
-form.otpform {
-       margin : 0px;
-       padding : 0px;
-}
-
-form.otpform label {
-       margin : 0px;
-       padding : 0px;
-}
-
-body.otp div.content {
-       display : inline-block;
-       width : auto;
-}
-
-span.hint {
-       font-size : 10px;
-       color : gray;
-}