From 3c9e19a409868d288bdb30b4ad666827c6b0162b Mon Sep 17 00:00:00 2001 From: abeudin Date: Wed, 17 Dec 2014 10:44:31 +0100 Subject: [PATCH 01/22] Update upgrade --- scripts/upgrade | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index f589fc9..720ac9f 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -3,11 +3,11 @@ domain=$(sudo yunohost app setting ttrss domain) path=$(sudo yunohost app setting ttrss path) -db_user=ttrss -db_pwd=$(sudo yunohost app setting ttrss mysqlpwd) -db_file=../source/schema/versions/mysql/$(ls -vr ../source/schema/versions/mysql | head -1) +#db_user=ttrss +#db_pwd=$(sudo yunohost app setting ttrss mysqlpwd) +#db_file=../source/schema/versions/mysql/$(ls -vr ../source/schema/versions/mysql | head -1) -mysql -u $db_user -p$db_pwd $db_user < $db_file +#mysql -u $db_user -p$db_pwd $db_user < $db_file final_path=/var/www/ttrss sudo mkdir -p $final_path @@ -23,6 +23,9 @@ sudo sed -i "s,yunopath,https://$domain$path,g" $final_path/config.php sudo chown -R www-data: $final_path +# Update database schema +su - www-data -c "php5 $final_path/update.php --update-schema" + # Modify Nginx configuration file and copy it to Nginx conf directory sudo sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf sudo sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf @@ -32,3 +35,4 @@ sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/ttrss.conf sudo service nginx reload sudo yunohost app ssowatconf sudo yunohost app setting ttrss skipped_uris -v "/public.php,/api" + From ef1db08249acff794f5e0d8b98f40c8b3f0df971 Mon Sep 17 00:00:00 2001 From: abeudin Date: Wed, 17 Dec 2014 11:04:59 +0100 Subject: [PATCH 02/22] Update upgrade --- scripts/upgrade | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 720ac9f..f864ea6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -23,9 +23,6 @@ sudo sed -i "s,yunopath,https://$domain$path,g" $final_path/config.php sudo chown -R www-data: $final_path -# Update database schema -su - www-data -c "php5 $final_path/update.php --update-schema" - # Modify Nginx configuration file and copy it to Nginx conf directory sudo sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf sudo sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf From 09862d966c484290afef7dcaea864a7a2ad4670f Mon Sep 17 00:00:00 2001 From: abeudin Date: Wed, 17 Dec 2014 11:11:08 +0100 Subject: [PATCH 03/22] Update upgrade --- scripts/upgrade | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index f864ea6..7a3784a 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -3,8 +3,8 @@ domain=$(sudo yunohost app setting ttrss domain) path=$(sudo yunohost app setting ttrss path) -#db_user=ttrss -#db_pwd=$(sudo yunohost app setting ttrss mysqlpwd) +db_user=ttrss +db_pwd=$(sudo yunohost app setting ttrss mysqlpwd) #db_file=../source/schema/versions/mysql/$(ls -vr ../source/schema/versions/mysql | head -1) #mysql -u $db_user -p$db_pwd $db_user < $db_file @@ -28,8 +28,9 @@ sudo sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf sudo sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/ttrss.conf -sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/ttrss.conf sudo service nginx reload sudo yunohost app ssowatconf sudo yunohost app setting ttrss skipped_uris -v "/public.php,/api" +# Update database schema +su - www-data -c "php5 $final_path/update.php --update-schema" From d68805e97b1a8db693c3572f7fca9fa21763b903 Mon Sep 17 00:00:00 2001 From: abeudin Date: Wed, 17 Dec 2014 11:38:50 +0100 Subject: [PATCH 04/22] Update update.php --- source/update.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/update.php b/source/update.php index 521b956..4254ff0 100755 --- a/source/update.php +++ b/source/update.php @@ -311,8 +311,8 @@ _debug("WARNING: please backup your database before continuing."); _debug("Type 'yes' to continue."); - if (read_stdin() != 'yes') - exit; + //if (read_stdin() != 'yes') + // exit; for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { _debug("performing update up to version $i..."); From ca8075843fce08805b38ed499fee47500190f0da Mon Sep 17 00:00:00 2001 From: abeudin Date: Wed, 17 Dec 2014 12:58:17 +0100 Subject: [PATCH 05/22] Update upgrade --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 7a3784a..4c32acb 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -33,4 +33,4 @@ sudo yunohost app ssowatconf sudo yunohost app setting ttrss skipped_uris -v "/public.php,/api" # Update database schema -su - www-data -c "php5 $final_path/update.php --update-schema" +su - www-data -c "$final_path/update.php --update-schema" From e8202f8de816bb702afe03f3e0917ed8244f78c9 Mon Sep 17 00:00:00 2001 From: abeudin Date: Wed, 17 Dec 2014 13:01:53 +0100 Subject: [PATCH 06/22] Update upgrade --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 4c32acb..958153d 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -33,4 +33,4 @@ sudo yunohost app ssowatconf sudo yunohost app setting ttrss skipped_uris -v "/public.php,/api" # Update database schema -su - www-data -c "$final_path/update.php --update-schema" +su - www-data -c "$final_path/update.php --update-schema --quiet" From cbb845eba5d9e69344eec3757b7e88ba7ee783f1 Mon Sep 17 00:00:00 2001 From: abeudin Date: Wed, 17 Dec 2014 13:02:39 +0100 Subject: [PATCH 07/22] Update upgrade --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 958153d..6125542 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -33,4 +33,4 @@ sudo yunohost app ssowatconf sudo yunohost app setting ttrss skipped_uris -v "/public.php,/api" # Update database schema -su - www-data -c "$final_path/update.php --update-schema --quiet" +sudo su - www-data -c "$final_path/update.php --update-schema --quiet" From f6f84fd2b073b67a92eaed31b51016470a2e0d4e Mon Sep 17 00:00:00 2001 From: abeudin Date: Wed, 17 Dec 2014 13:02:57 +0100 Subject: [PATCH 08/22] Update upgrade --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 6125542..c619ff1 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -33,4 +33,4 @@ sudo yunohost app ssowatconf sudo yunohost app setting ttrss skipped_uris -v "/public.php,/api" # Update database schema -sudo su - www-data -c "$final_path/update.php --update-schema --quiet" +sudo su - www-data -c "$final_path/update.php --update-schema" From a335861ed54b64a22ee8945c7f544618116a415e Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Thu, 22 Jan 2015 17:56:46 +0100 Subject: [PATCH 09/22] update ttrss 1.15.3 --- README.md | 2 +- conf/nginx.conf | 5 +- conf/ttrss.diff | 33 + manifest.json | 8 +- scripts/install | 11 +- scripts/upgrade | 6 + source/classes/api.php | 31 +- source/classes/opml.php | 2 + source/classes/pref/prefs.php | 3 +- source/css/dijit.css | 4 + source/css/tt-rss.css | 39 +- source/include/functions.php | 5 + source/include/functions2.php | 52 +- source/include/rssfuncs.php | 8 +- source/include/version.php | 2 +- source/index.php | 4 +- source/js/functions.js | 45 +- source/js/tt-rss.js | 26 +- source/locale/de_DE/LC_MESSAGES/messages.mo | Bin 61508 -> 61515 bytes source/locale/de_DE/LC_MESSAGES/messages.po | 8 +- source/locale/ko_KR/LC_MESSAGES/messages.mo | Bin 41311 -> 41572 bytes source/locale/ko_KR/LC_MESSAGES/messages.po | 1086 +++++----- source/locale/lv_LV/LC_MESSAGES/messages.mo | Bin 39031 -> 60935 bytes source/locale/lv_LV/LC_MESSAGES/messages.po | 1838 ++++++++--------- .../af_comics/filters/af_comics_dilbert.php | 22 +- .../af_comics/filters/af_comics_pa.php | 4 +- .../af_comics/filters/af_comics_tfd.php | 32 + source/plugins/af_tumblr_1280/init.php | 79 + source/plugins/af_zz_imgsetsizes/init.php | 88 + source/plugins/auth_remote/init.php | 10 - source/plugins/auth_remote/init.php.ynh | 97 + source/plugins/no_iframes/init.php | 10 +- source/prefs.php | 4 +- source/schema/TTRSS_schema_mysql.sql | 7 +- source/themes/night.css | 6 + source/update.php.ynh | 359 ++++ 36 files changed, 2260 insertions(+), 1676 deletions(-) create mode 100644 conf/ttrss.diff create mode 100644 source/plugins/af_comics/filters/af_comics_tfd.php create mode 100644 source/plugins/af_tumblr_1280/init.php create mode 100644 source/plugins/af_zz_imgsetsizes/init.php create mode 100644 source/plugins/auth_remote/init.php.ynh create mode 100755 source/update.php.ynh diff --git a/README.md b/README.md index 3c973d8..4f4e68a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -ttrss for YunoHost +Tiny-Tiny RSS paquage for YunoHost ====================== http://tt-rss.org/redmine/projects/tt-rss/wiki diff --git a/conf/nginx.conf b/conf/nginx.conf index d8c6cf5..94663ff 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -10,8 +10,9 @@ location PATHTOCHANGE { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; - fastcgi_param REMOTE_USER $remote_user; - fastcgi_param PATH_INFO $fastcgi_path_info; + fastcgi_param REMOTE_USER $remote_user; + fastcgi_param PATH_INFO $fastcgi_path_info; + fastcgi_param SCRIPT_FILENAME $request_filename; } # Include SSOWAT user panel. diff --git a/conf/ttrss.diff b/conf/ttrss.diff new file mode 100644 index 0000000..9c6795c --- /dev/null +++ b/conf/ttrss.diff @@ -0,0 +1,33 @@ +--- update.php.ynh 2015-01-22 16:45:52.105737698 +0100 ++++ update.php 2015-01-22 16:43:09.977745715 +0100 +@@ -311,8 +311,8 @@ + _debug("WARNING: please backup your database before continuing."); + _debug("Type 'yes' to continue."); + +- //if (read_stdin() != 'yes') +- // exit; ++ if (read_stdin() != 'yes') ++ exit; + + for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { + _debug("performing update up to version $i..."); + +--- plugins/auth_remote/init.php.ynh 2015-01-22 16:50:51.653723599 +0100 ++++ plugins/auth_remote/init.php 2015-01-22 16:43:09.957745715 +0100 +@@ -69,16 +69,6 @@ + db_query("UPDATE ttrss_users SET email = '$email' WHERE id = " . + $user_id); + } +- // update user password to allow api access +- if (isset($_SERVER['PHP_AUTH_PW'])){ +- $currentpassword = $_SERVER['PHP_AUTH_PW']; +- $new_salt = substr(bin2hex(get_random_bytes(125)), 0, 250); +- $new_password_hash = encrypt_password($currentpassword, $new_salt, true); +- +- db_query("UPDATE ttrss_users SET +- pwd_hash = '$new_password_hash', salt = '$new_salt', otp_enabled = false +- WHERE login = '$try_login'"); +- } + } + + return $user_id; diff --git a/manifest.json b/manifest.json index 64e7e37..5130d73 100644 --- a/manifest.json +++ b/manifest.json @@ -5,16 +5,17 @@ "en": "A PHP and Ajax feed reader", "fr": "Un lecteur de flux en PHP et Ajax" }, - "developer": { + "url": "http://tt-rss.org", + "maintainer": { "name": "titoko", - "email": "titoko@titoko.fr", - "url": "http://dev.yunohost.org" + "email": "titoko@titoko.fr" }, "multi_instance": "true", "arguments": { "install" : [ { "name": "domain", + "type": "domain", "ask": { "en": "Choose a domain for Tiny-Tiny-RSS", "fr": "Choisissez un domaine pour Tiny-Tiny-RSS" @@ -23,6 +24,7 @@ }, { "name": "path", + "type": "path", "ask": { "en": "Choose a path for Tiny-Tiny-RSS", "fr": "Choisissez un chemin pour Tiny-Tiny-RSS" diff --git a/scripts/install b/scripts/install index 19b9170..0241d23 100644 --- a/scripts/install +++ b/scripts/install @@ -22,10 +22,13 @@ sudo yunohost app initdb $db_user -p $db_pwd -s $(readlink -e ../source/schema/T sudo yunohost app setting ttrss mysqlpwd -v $db_pwd # Copy files to the right place - final_path=/var/www/ttrss - sudo mkdir -p $final_path - sudo cp -r ../source/* $final_path - sudo cp ../conf/config.php $final_path/ +final_path=/var/www/ttrss +sudo mkdir -p $final_path +sudo cp -r ../source/* $final_path +sudo cp ../conf/config.php $final_path/ +sudo cp ../conf/ttrss.diff $final_path/ +sudo patch -p0 $final_path/ttrss.diff + # Change variables in ttrss configuration sudo sed -i "s/yunouser/$db_user/g" $final_path/config.php diff --git a/scripts/upgrade b/scripts/upgrade index c619ff1..753ddbb 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -5,15 +5,21 @@ path=$(sudo yunohost app setting ttrss path) db_user=ttrss db_pwd=$(sudo yunohost app setting ttrss mysqlpwd) +<<<<<<< HEAD +======= #db_file=../source/schema/versions/mysql/$(ls -vr ../source/schema/versions/mysql | head -1) #mysql -u $db_user -p$db_pwd $db_user < $db_file +>>>>>>> f6f84fd2b073b67a92eaed31b51016470a2e0d4e final_path=/var/www/ttrss sudo mkdir -p $final_path sudo cp -a ../source/* $final_path sudo cp ../conf/config.php $final_path/ +sudo cp ../conf/ttrss.diff $final_path/ +sudo patch -p0 $final_path/ttrss.diff + # Change variables in ttrss configuration sudo sed -i "s/yunouser/$db_user/g" $final_path/config.php diff --git a/source/classes/api.php b/source/classes/api.php index 97f17cc..3c5d084 100644 --- a/source/classes/api.php +++ b/source/classes/api.php @@ -2,7 +2,7 @@ class API extends Handler { - const API_LEVEL = 9; + const API_LEVEL = 11; const STATUS_OK = 0; const STATUS_ERR = 1; @@ -201,6 +201,10 @@ class API extends Handler { $sanitize_content = !isset($_REQUEST["sanitize"]) || sql_bool_to_bool($_REQUEST["sanitize"]); $force_update = sql_bool_to_bool($_REQUEST["force_update"]); + $has_sandbox = sql_bool_to_bool($_REQUEST["has_sandbox"]); + $excerpt_length = (int)$this->dbh->escape_string($_REQUEST["excerpt_length"]); + + $_SESSION['hasSandbox'] = $has_sandbox; $override_order = false; switch ($_REQUEST["order_by"]) { @@ -223,7 +227,7 @@ class API extends Handler { $headlines = $this->api_get_headlines($feed_id, $limit, $offset, $filter, $is_cat, $show_excerpt, $show_content, $view_mode, $override_order, $include_attachments, $since_id, $search, $search_mode, - $include_nested, $sanitize_content, $force_update); + $include_nested, $sanitize_content, $force_update, $excerpt_length); $this->wrap(self::STATUS_OK, $headlines); } else { @@ -633,7 +637,7 @@ class API extends Handler { $filter, $is_cat, $show_excerpt, $show_content, $view_mode, $order, $include_attachments, $since_id, $search = "", $search_mode = "", - $include_nested = false, $sanitize_content = true, $force_update = false) { + $include_nested = false, $sanitize_content = true, $force_update = false, $excerpt_length = 100) { if ($force_update && $feed_id > 0 && is_numeric($feed_id)) { // Update the feed if required with some basic flood control @@ -666,16 +670,31 @@ class API extends Handler { $headlines = array(); while ($line = db_fetch_assoc($result)) { - $line["content_preview"] = truncate_string(strip_tags($line["content"]), 100); + $line["content_preview"] = truncate_string(strip_tags($line["content"]), $excerpt_length); foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_QUERY_HEADLINES) as $p) { - $line = $p->hook_query_headlines($line, 100, true); + $line = $p->hook_query_headlines($line, $excerpt_length, true); } $is_updated = ($line["last_read"] == "" && ($line["unread"] != "t" && $line["unread"] != "1")); $tags = explode(",", $line["tag_cache"]); - $labels = json_decode($line["label_cache"], true); + + $label_cache = $line["label_cache"]; + $labels = false; + + if ($label_cache) { + $label_cache = json_decode($label_cache, true); + + if ($label_cache) { + if ($label_cache["no-labels"] == 1) + $labels = array(); + else + $labels = $label_cache; + } + } + + if (!is_array($labels)) $labels = get_article_labels($line["id"]); //if (!$tags) $tags = get_article_tags($line["id"]); //if (!$labels) $labels = get_article_labels($line["id"]); diff --git a/source/classes/opml.php b/source/classes/opml.php index c8c59e8..04516dd 100644 --- a/source/classes/opml.php +++ b/source/classes/opml.php @@ -491,7 +491,9 @@ class Opml extends Handler_Protected { if (is_file($tmp_file)) { $doc = new DOMDocument(); + libxml_disable_entity_loader(false); $doc->load($tmp_file); + libxml_disable_entity_loader(true); unlink($tmp_file); } else if (!$doc) { print_error(__('Error: unable to find moved OPML file.')); diff --git a/source/classes/pref/prefs.php b/source/classes/pref/prefs.php index 5712372..da11f55 100644 --- a/source/classes/pref/prefs.php +++ b/source/classes/pref/prefs.php @@ -571,7 +571,8 @@ class Pref_Prefs extends Handler_Protected { } else if ($pref_name == "USER_CSS_THEME") { - $themes = array_map("basename", glob("themes/*.css")); + $themes = array_filter(array_map("basename", glob("themes/*.css")), + "theme_valid"); print_select($pref_name, $value, $themes, 'dojoType="dijit.form.Select"'); diff --git a/source/css/dijit.css b/source/css/dijit.css index eb4f767..c49b469 100644 --- a/source/css/dijit.css +++ b/source/css/dijit.css @@ -93,6 +93,10 @@ background : white; } +.claro #feedTree.dijitTree .dijitTreeRowSelected { + box-shadow : -1px 0px 2px -1px rgba(0,0,0,0.1); +} + .claro .dijitTree .dijitTreeRowHover { background : #f0f0f0; border-color : #ddd; diff --git a/source/css/tt-rss.css b/source/css/tt-rss.css index d732c13..3db8dc1 100644 --- a/source/css/tt-rss.css +++ b/source/css/tt-rss.css @@ -7,6 +7,11 @@ body#ttrssMain, body#ttrssPrefs, body#ttrssLogin, body { font-size: 14px; } +body#ttrssMain { + overflow : hidden; + max-height : 100%; +} + div.postReply { padding : 0px; } @@ -138,18 +143,30 @@ a:hover { position : absolute; } +#notify.visible { + transform: translate(0, -35px); + -webkit-transform: translate(0, -35px); + -o-transform: translate(0, -35px); + -moz-transform: translate(0, -35px); +} + #notify { - bottom : 10px; - right : 20px; - border-width : 1px; + bottom : -35px; + right : 0px; + height : 20px; + left : 0px; + border-width : 1px 0px 0px 0px; border-style : solid; - position : absolute; + position : fixed; font-size : 12px; z-index : 99; - max-width : 200px; - min-width : 100px; padding : 5px; - -width : 200px; + box-shadow : 0px -2px 2px rgba(0,0,0,0.1); + + transition: all 0.5s ease-in-out; + -webkit-transition: all 0.5s ease-in-out; + -moz-transition: all 0.5s ease-in-out; + -o-transition: all 0.5s ease-in-out; } #notify img { @@ -176,17 +193,17 @@ a:hover { background-color : #fff7d5; } -.notify.progress { +.notify.notify_progress { border-color : #d7c47a; background-color : #fff7d5; } -.notify.info { +.notify.notify_info { border-color : #88b0f0; background-color : #ecf4ff; } -.notify.error { +.notify.notify_error { background-color : #ffcccc; border-color : #ff0000; } @@ -796,7 +813,7 @@ div.fatalError textarea { #feeds-holder { padding : 0px; - border-width : 0px 1px 0px 0px; + border-width : 0px 0px 0px 0px; border-style : solid; border-color : #ddd; overflow : hidden; diff --git a/source/include/functions.php b/source/include/functions.php index 1dbf004..2f3daea 100644 --- a/source/include/functions.php +++ b/source/include/functions.php @@ -14,6 +14,8 @@ $fetch_curl_used = false; $suppress_debugging = false; + libxml_disable_entity_loader(true); + mb_internal_encoding("UTF-8"); date_default_timezone_set('UTC'); if (defined('E_DEPRECATED')) { @@ -357,6 +359,9 @@ $url = ltrim($url, ' '); $url = str_replace(' ', '%20', $url); + if (strpos($url, "//") === 0) + $url = 'http:' . $url; + if (!defined('NO_CURL') && function_exists('curl_init')) { $fetch_curl_used = true; diff --git a/source/include/functions2.php b/source/include/functions2.php index 672373e..669bbe0 100644 --- a/source/include/functions2.php +++ b/source/include/functions2.php @@ -17,7 +17,10 @@ $params["default_view_order_by"] = get_pref("_DEFAULT_VIEW_ORDER_BY"); $params["bw_limit"] = (int) $_SESSION["bw_limit"]; $params["label_base_index"] = (int) LABEL_BASE_INDEX; - $params["theme"] = get_pref("USER_CSS_THEME", false, false); + + $theme = get_pref( "USER_CSS_THEME", false, false); + $params["theme"] = theme_valid("$theme") ? $theme : ""; + $params["plugins"] = implode(", ", PluginHost::getInstance()->get_plugin_names()); $params["php_platform"] = PHP_OS; @@ -826,6 +829,21 @@ } + function iframe_whitelisted($entry) { + $whitelist = array("youtube.com", "youtu.be", "vimeo.com"); + + @$src = parse_url($entry->getAttribute("src"), PHP_URL_HOST); + + if ($src) { + foreach ($whitelist as $w) { + if ($src == $w || $src == "www.$w") + return true; + } + } + + return false; + } + function sanitize($str, $force_remove_images = false, $owner = false, $site_url = false, $highlight_words = false, $article_id = false) { if (!$owner) $owner = $_SESSION["uid"]; @@ -894,8 +912,15 @@ $entries = $xpath->query('//iframe'); foreach ($entries as $entry) { - $entry->setAttribute('sandbox', 'allow-scripts'); - + if (!iframe_whitelisted($entry)) { + $entry->setAttribute('sandbox', 'allow-scripts'); + } else { + if ($_SERVER['HTTPS'] == "on") { + $entry->setAttribute("src", + str_replace("http://", "https://", + $entry->getAttribute("src"))); + } + } } $allowed_elements = array('a', 'address', 'audio', 'article', 'aside', @@ -1958,8 +1983,8 @@ } function getLastArticleId() { - $result = db_query("SELECT MAX(ref_id) AS id FROM ttrss_user_entries - WHERE owner_uid = " . $_SESSION["uid"]); + $result = db_query("SELECT ref_id AS id FROM ttrss_user_entries + WHERE owner_uid = " . $_SESSION["uid"] . " ORDER BY ref_id DESC LIMIT 1"); if (db_num_rows($result) == 1) { return db_fetch_result($result, 0, "id"); @@ -2400,4 +2425,21 @@ return LABEL_BASE_INDEX - 1 + abs($feed); } + function theme_valid($file) { + if ($file == "default.css" || $file == "night.css") return true; // needed for array_filter + $file = "themes/" . basename($file); + + if (file_exists($file) && is_readable($file)) { + $fh = fopen($file, "r"); + + if ($fh) { + $header = fgets($fh); + fclose($fh); + + return strpos($header, "supports-version:" . VERSION_STATIC) !== FALSE; + } + } + + return false; + } ?> diff --git a/source/include/rssfuncs.php b/source/include/rssfuncs.php index 6d9247a..4cd0f68 100644 --- a/source/include/rssfuncs.php +++ b/source/include/rssfuncs.php @@ -481,7 +481,7 @@ if (!$registered_title || $registered_title == "[Unknown]") { - $feed_title = db_escape_string($rss->get_title()); + $feed_title = db_escape_string(mb_substr($rss->get_title(), 0, 199)); if ($feed_title) { _debug("registering title: $feed_title", $debug_enabled); @@ -707,7 +707,11 @@ db_query("UPDATE ttrss_entries SET date_updated = NOW() WHERE id = '$base_entry_id'"); - continue; + // if we allow duplicate posts, we have to continue to + // create the user entries for this feed + if (!get_pref("ALLOW_DUPLICATE_POSTS", $owner_uid, false)) { + continue; + } } _debug("hash differs, applying plugin filters:", $debug_enabled); diff --git a/source/include/version.php b/source/include/version.php index 9311514..a7ca8a3 100644 --- a/source/include/version.php +++ b/source/include/version.php @@ -1,5 +1,5 @@ - +
diff --git a/source/js/functions.js b/source/js/functions.js index 9915e68..98a5318 100644 --- a/source/js/functions.js +++ b/source/js/functions.js @@ -182,11 +182,6 @@ function param_unescape(arg) { return unescape(arg); } - -function hide_notify() { - Element.hide('notify'); -} - function notify_real(msg, no_hide, n_type) { var n = $("notify"); @@ -198,13 +193,11 @@ function notify_real(msg, no_hide, n_type) { } if (msg == "") { - if (Element.visible(n)) { - notify_hide_timerid = window.setTimeout("hide_notify()", 0); + if (n.hasClassName("visible")) { + notify_hide_timerid = window.setTimeout(function() { + n.removeClassName("visible") }, 0); } return; - } else { - Element.show(n); - new Effect.Highlight(n); } /* types: @@ -218,30 +211,40 @@ function notify_real(msg, no_hide, n_type) { msg = " " + __(msg) + ""; - if (n_type == 1) { - n.className = "notify"; - } else if (n_type == 2) { - n.className = "notify progress"; + if (n_type == 2) { msg = "" + msg; no_hide = true; } else if (n_type == 3) { - n.className = "notify error"; msg = "" + msg; } else if (n_type == 4) { - n.className = "notify info"; msg = "" + msg; } msg += " "; -// msg = " " + msg; - n.innerHTML = msg; - if (!no_hide) { - notify_hide_timerid = window.setTimeout("hide_notify()", 5*1000); - } + window.setTimeout(function() { + // goddamnit firefox + if (n_type == 2) { + n.className = "notify notify_progress visible"; + } else if (n_type == 3) { + n.className = "notify notify_error visible"; + msg = "" + msg; + } else if (n_type == 4) { + n.className = "notify notify_info visible"; + } else { + n.className = "notify visible"; + } + + if (!no_hide) { + notify_hide_timerid = window.setTimeout(function() { + n.removeClassName("visible") }, 5*1000); + } + + }, 10); + } function notify(msg, no_hide) { diff --git a/source/js/tt-rss.js b/source/js/tt-rss.js index c641451..84f2e67 100644 --- a/source/js/tt-rss.js +++ b/source/js/tt-rss.js @@ -302,21 +302,27 @@ function init() { hotkey_actions["collapse_article"] = function() { var id = getActiveArticleId(); var elem = $("CICD-"+id); - if(elem.visible()) { - cdmCollapseArticle(null, id); - } - else { - cdmExpandArticle(id); + + if (elem) { + if (elem.visible()) { + cdmCollapseArticle(null, id); + } + else { + cdmExpandArticle(id); + } } }; hotkey_actions["toggle_expand"] = function() { var id = getActiveArticleId(); var elem = $("CICD-"+id); - if(elem.visible()) { - cdmCollapseArticle(null, id, false); - } - else { - cdmExpandArticle(id); + + if (elem) { + if (elem.visible()) { + cdmCollapseArticle(null, id, false); + } + else { + cdmExpandArticle(id); + } } }; hotkey_actions["search_dialog"] = function() { diff --git a/source/locale/de_DE/LC_MESSAGES/messages.mo b/source/locale/de_DE/LC_MESSAGES/messages.mo index 2503397ca9f00e29abdbb97390e2a1e016f1eea1..c82c931ede2db721c8bd630adcf17b02c75ecd06 100755 GIT binary patch delta 5894 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 hFjhfAx`NJQCZ>\n" +"PO-Revision-Date: 2014-11-19 18:13+0100\n" +"Last-Translator: Robert Wetzlmayr \n" "Language-Team: \n" "Language: de\n" "MIME-Version: 1.0\n" @@ -21,7 +21,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Bookmarks: -1,557,558,-1,-1,-1,-1,-1,-1,-1\n" -"X-Generator: Poedit 1.5.4\n" +"X-Generator: Poedit 1.5.5\n" #: backend.php:73 msgid "Use default" @@ -1771,7 +1771,7 @@ msgstr "Maximales Alter neuer Artikel (in Stunden)" #: classes/pref/prefs.php:41 msgid "Hide feeds with no unread articles" -msgstr "Feeds ohne unglesene Nachrichten verbergen" +msgstr "Feeds ohne ungelesene Nachrichten verbergen" #: classes/pref/prefs.php:42 msgid "Show special feeds when hiding read feeds" diff --git a/source/locale/ko_KR/LC_MESSAGES/messages.mo b/source/locale/ko_KR/LC_MESSAGES/messages.mo index 1e22fd5abc28ef3768a590eba213578c8f6c4b05..620a42a438b36a7a9935b53a8498c4d91bae5d87 100644 GIT binary patch delta 12789 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 E0dg;RLjV8( delta 12572 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 t7#8G4m@#(Q-mE8\n" "Language-Team: YoungMin Park \n" "Language: ko\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.6.10\n" "X-Poedit-SourceCharset: UTF-8\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -50,49 +50,39 @@ msgstr "3달 전" msgid "Default interval" msgstr "기본 간격" -#: backend.php:83 -#: backend.php:93 +#: backend.php:83 backend.php:93 msgid "Disable updates" msgstr "업데이트 중단" -#: backend.php:84 -#: backend.php:94 +#: backend.php:84 backend.php:94 msgid "Each 15 minutes" msgstr "15분마다" -#: backend.php:85 -#: backend.php:95 +#: backend.php:85 backend.php:95 msgid "Each 30 minutes" msgstr "30분마다" -#: backend.php:86 -#: backend.php:96 +#: backend.php:86 backend.php:96 msgid "Hourly" msgstr "1시간마다" -#: backend.php:87 -#: backend.php:97 +#: backend.php:87 backend.php:97 msgid "Each 4 hours" msgstr "4시간마다" -#: backend.php:88 -#: backend.php:98 +#: backend.php:88 backend.php:98 msgid "Each 12 hours" msgstr "12시간마다" -#: backend.php:89 -#: backend.php:99 +#: backend.php:89 backend.php:99 msgid "Daily" msgstr "하루 한 번" -#: backend.php:90 -#: backend.php:100 +#: backend.php:90 backend.php:100 msgid "Weekly" msgstr "1주일에 한 번" -#: backend.php:103 -#: classes/pref/users.php:119 -#: classes/pref/system.php:51 +#: backend.php:103 classes/pref/users.php:119 classes/pref/system.php:51 msgid "User" msgstr "사용자" @@ -105,12 +95,20 @@ msgid "Administrator" msgstr "관리자" #: errors.php:9 -msgid "This program requires XmlHttpRequest to function properly. Your browser doesn't seem to support it." -msgstr "이 프로그램이 정상 동작 하기 위해서는 XmlHttpRequest가 필요합니다. 현재 사용중인 브라우저는 XmlHttpRequest를 지원하지 않는것으로 보입니다." +msgid "" +"This program requires XmlHttpRequest to function properly. Your browser " +"doesn't seem to support it." +msgstr "" +"이 프로그램이 정상 동작 하기 위해서는 XmlHttpRequest가 필요합니다. 현재 사용" +"중인 브라우저는 XmlHttpRequest를 지원하지 않는것으로 보입니다." #: errors.php:12 -msgid "This program requires cookies to function properly. Your browser doesn't seem to support them." -msgstr "이 프로그램이 정상 동작 하기 위해서는 쿠키를 사용해야합니다. 현재 사용중인 브라우저는 쿠키를 지원하지 않는것으로 보입니다." +msgid "" +"This program requires cookies to function properly. Your browser doesn't " +"seem to support them." +msgstr "" +"이 프로그램이 정상 동작 하기 위해서는 쿠키를 사용해야합니다. 현재 사용중인 브" +"라우저는 쿠키를 지원하지 않는것으로 보입니다." #: errors.php:15 msgid "Backend sanity check failed." @@ -121,8 +119,12 @@ msgid "Frontend sanity check failed." msgstr "프론트엔드 설정 확인에 실패하였습니다." #: errors.php:19 -msgid "Incorrect database schema version. <a href='db-updater.php'>Please update</a>." -msgstr "데이터베이스 스키마 버전이 잘못되었습니다. <a href='update.php'>업데이트가 필요합니다.</a>。" +msgid "" +"Incorrect database schema version. <a href='db-updater.php'>Please " +"update</a>." +msgstr "" +"데이터베이스 스키마 버전이 잘못되었습니다. <a href='update.php'>업데이" +"트가 필요합니다.</a>。" #: errors.php:21 msgid "Request not authorized." @@ -133,8 +135,12 @@ msgid "No operation to perform." msgstr "수행할 작업이 없습니다." #: errors.php:25 -msgid "Could not display feed: query failed. Please check label match syntax or local configuration." -msgstr "피드 내용을 표시할 수 없습니다. 라벨 문법이 일치하는지, 혹은 로컬 설정을 확인해주세요." +msgid "" +"Could not display feed: query failed. Please check label match syntax or " +"local configuration." +msgstr "" +"피드 내용을 표시할 수 없습니다. 라벨 문법이 일치하는지, 혹은 로컬 설정을 확인" +"해주세요." #: errors.php:27 msgid "Denied. Your access level is insufficient to access this page." @@ -145,35 +151,25 @@ msgid "Configuration check failed" msgstr "설정 확인에 실패하였습니다." #: errors.php:31 -msgid "Your version of MySQL is not currently supported. Please see official site for more information." -msgstr "지원하지 않는 MySQL 버전을 사용중입니다. 자세한 내용은 공식 사이트를 참고해주세요." +msgid "" +"Your version of MySQL is not currently supported. Please see official site " +"for more information." +msgstr "" +"지원하지 않는 MySQL 버전을 사용중입니다. 자세한 내용은 공식 사이트를 참고해주" +"세요." #: errors.php:35 msgid "SQL escaping test failed, check your database and PHP configuration" -msgstr "SQL escaping 테스트에 실패했습니다. 데이터베이스 및 PHP 설정을 확인해주세요." +msgstr "" +"SQL escaping 테스트에 실패했습니다. 데이터베이스 및 PHP 설정을 확인해주세요." -#: index.php:133 -#: index.php:150 -#: index.php:273 -#: prefs.php:102 -#: classes/backend.php:5 -#: classes/pref/labels.php:296 -#: classes/pref/filters.php:704 -#: classes/pref/feeds.php:1367 -#: js/feedlist.js:126 -#: js/functions.js:1218 -#: js/functions.js:1352 -#: js/functions.js:1664 -#: js/prefs.js:653 -#: js/prefs.js:854 -#: js/prefs.js:1760 -#: js/prefs.js:1776 -#: js/prefs.js:1794 -#: js/tt-rss.js:55 -#: js/tt-rss.js:515 -#: js/viewfeed.js:741 -#: js/viewfeed.js:1316 -#: plugins/import_export/import_export.js:17 +#: index.php:133 index.php:150 index.php:273 prefs.php:102 +#: classes/backend.php:5 classes/pref/labels.php:296 +#: classes/pref/filters.php:704 classes/pref/feeds.php:1367 js/feedlist.js:126 +#: js/functions.js:1218 js/functions.js:1352 js/functions.js:1664 +#: js/prefs.js:653 js/prefs.js:854 js/prefs.js:1760 js/prefs.js:1776 +#: js/prefs.js:1794 js/tt-rss.js:55 js/tt-rss.js:515 js/viewfeed.js:741 +#: js/viewfeed.js:1316 plugins/import_export/import_export.js:17 #: plugins/updater/updater.js:17 msgid "Loading, please wait..." msgstr "로딩중입니다. 잠깐의 여유를 갖고 하늘을 바라보아요 ^^" @@ -194,21 +190,15 @@ msgstr "추린 글" msgid "All Articles" msgstr "전체 내용" -#: index.php:176 -#: include/functions2.php:99 -#: classes/feeds.php:102 +#: index.php:176 include/functions2.php:99 classes/feeds.php:102 msgid "Starred" msgstr "중요 표시" -#: index.php:177 -#: include/functions2.php:100 -#: classes/feeds.php:103 +#: index.php:177 include/functions2.php:100 classes/feeds.php:103 msgid "Published" msgstr "공개됨" -#: index.php:178 -#: classes/feeds.php:89 -#: classes/feeds.php:101 +#: index.php:178 classes/feeds.php:89 classes/feeds.php:101 msgid "Unread" msgstr "안 읽은 글" @@ -244,12 +234,8 @@ msgstr "오래된 글 먼저" msgid "Title" msgstr "제목순으로" -#: index.php:194 -#: index.php:242 -#: include/functions2.php:89 -#: classes/feeds.php:107 -#: js/FeedTree.js:132 -#: js/FeedTree.js:160 +#: index.php:194 index.php:242 include/functions2.php:89 classes/feeds.php:107 +#: js/FeedTree.js:132 js/FeedTree.js:160 msgid "Mark as read" msgstr "읽음 표시" @@ -289,8 +275,7 @@ msgstr "검색..." msgid "Feed actions:" msgstr "피드 동작" -#: index.php:237 -#: classes/handler/public.php:629 +#: index.php:237 classes/handler/public.php:629 msgid "Subscribe to feed..." msgstr "피드 구독..." @@ -302,9 +287,7 @@ msgstr "이 피드 수정..." msgid "Rescore feed" msgstr "피드 점수 다시 매기기..." -#: index.php:240 -#: classes/pref/feeds.php:757 -#: classes/pref/feeds.php:1322 +#: index.php:240 classes/pref/feeds.php:757 classes/pref/feeds.php:1322 #: js/PrefFeedTree.js:74 msgid "Unsubscribe" msgstr "구독 해제" @@ -321,8 +304,7 @@ msgstr "읽은 내용 숨김" msgid "Other actions:" msgstr "기타 동작" -#: index.php:245 -#: include/functions2.php:75 +#: index.php:245 include/functions2.php:75 msgid "Toggle widescreen mode" msgstr "와이드스크린 모드 켜기/끄기" @@ -346,9 +328,7 @@ msgstr "키보드 단축키 도움말" msgid "Logout" msgstr "로그아웃" -#: prefs.php:33 -#: prefs.php:120 -#: include/functions2.php:102 +#: prefs.php:33 prefs.php:120 include/functions2.php:102 #: classes/pref/prefs.php:441 msgid "Preferences" msgstr "설정" @@ -361,21 +341,16 @@ msgstr "키보드 단축키" msgid "Exit preferences" msgstr "설정 완료" -#: prefs.php:123 -#: classes/pref/feeds.php:110 -#: classes/pref/feeds.php:1243 +#: prefs.php:123 classes/pref/feeds.php:110 classes/pref/feeds.php:1243 #: classes/pref/feeds.php:1311 msgid "Feeds" msgstr "피드" -#: prefs.php:126 -#: classes/pref/filters.php:188 +#: prefs.php:126 classes/pref/filters.php:188 msgid "Filters" msgstr "필터" -#: prefs.php:129 -#: include/functions.php:1264 -#: include/functions.php:1916 +#: prefs.php:129 include/functions.php:1264 include/functions.php:1916 #: classes/pref/labels.php:90 msgid "Labels" msgstr "라벨" @@ -388,8 +363,7 @@ msgstr "사용자" msgid "System" msgstr "시스템" -#: register.php:187 -#: include/login_form.php:245 +#: register.php:187 include/login_form.php:245 msgid "Create new account" msgstr "새 계정 생성" @@ -397,27 +371,23 @@ msgstr "새 계정 생성" msgid "New user registrations are administratively disabled." msgstr "관리자가 신규 사용자 등록 기능을 비활성화 한 상태입니다." -#: register.php:197 -#: register.php:242 -#: register.php:255 -#: register.php:270 -#: register.php:289 -#: register.php:337 -#: register.php:347 -#: register.php:359 -#: classes/handler/public.php:699 -#: classes/handler/public.php:770 -#: classes/handler/public.php:868 -#: classes/handler/public.php:947 -#: classes/handler/public.php:961 -#: classes/handler/public.php:968 +#: register.php:197 register.php:242 register.php:255 register.php:270 +#: register.php:289 register.php:337 register.php:347 register.php:359 +#: classes/handler/public.php:699 classes/handler/public.php:770 +#: classes/handler/public.php:868 classes/handler/public.php:947 +#: classes/handler/public.php:961 classes/handler/public.php:968 #: classes/handler/public.php:993 msgid "Return to Tiny Tiny RSS" -msgstr "Tiny Tiny RSS に戻る" +msgstr "Tiny Tiny RSS로 돌아가기" #: register.php:218 -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 "임시 암호가 이메일로 전송됩니다. 이메일 전송 후 24시간 내에 로그인하지 않으면 계정이 삭제됩니다." +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 "" +"임시 암호가 이메일로 전송됩니다. 이메일 전송 후 24시간 내에 로그인하지 않으" +"면 계정이 삭제됩니다." #: register.php:224 msgid "Desired login:" @@ -427,13 +397,11 @@ msgstr "원하는 사용자명:" msgid "Check availability" msgstr "가능한지 확인" -#: register.php:229 -#: classes/handler/public.php:786 +#: register.php:229 classes/handler/public.php:786 msgid "Email:" msgstr "이메일:" -#: register.php:232 -#: classes/handler/public.php:791 +#: register.php:232 classes/handler/public.php:791 msgid "How much is two plus two:" msgstr "2 + 2 = ?" @@ -465,13 +433,9 @@ msgstr "현재는 신규 사용자 등록을 할 수 없습니다." msgid "Tiny Tiny RSS data update script." msgstr "Tiny Tiny RSS 데이터 업데이트 스크립트." -#: include/digest.php:109 -#: include/functions.php:1273 -#: include/functions.php:1817 -#: include/functions.php:1902 -#: include/functions.php:1924 -#: classes/opml.php:421 -#: classes/pref/feeds.php:226 +#: include/digest.php:109 include/functions.php:1273 +#: include/functions.php:1817 include/functions.php:1902 +#: include/functions.php:1924 classes/opml.php:421 classes/pref/feeds.php:226 msgid "Uncategorized" msgstr "카테고리 없음" @@ -515,11 +479,11 @@ msgstr "이전 글 열기 (긴 글 스크롤 하지 않음)" #: include/functions2.php:56 msgid "Move to next article (don't expand or mark read)" -msgstr "다음 글로 이동(확장하거나 읽음 표시하지 않음)" +msgstr "다음 글로 이동(펼치거나 읽음 표시하지 않음)" #: include/functions2.php:57 msgid "Move to previous article (don't expand or mark read)" -msgstr "이전 글로 이동(확장하거나 읽음 표시하지 않음)" +msgstr "이전 글로 이동(펼치거나 읽음 표시하지 않음)" #: include/functions2.php:58 msgid "Show search dialog" @@ -529,18 +493,15 @@ msgstr "검색 기능 표시" msgid "Article" msgstr "글" -#: include/functions2.php:60 -#: js/viewfeed.js:2009 +#: include/functions2.php:60 js/viewfeed.js:2009 msgid "Toggle starred" msgstr "중요 표시" -#: include/functions2.php:61 -#: js/viewfeed.js:2020 +#: include/functions2.php:61 js/viewfeed.js:2020 msgid "Toggle published" msgstr "공개 설정" -#: include/functions2.php:62 -#: js/viewfeed.js:1998 +#: include/functions2.php:62 js/viewfeed.js:1998 msgid "Toggle unread" msgstr "읽지 않음 표시" @@ -564,8 +525,7 @@ msgstr "새창에서 열기" msgid "Mark below as read" msgstr "아래 글 읽음 표시" -#: include/functions2.php:68 -#: js/viewfeed.js:2033 +#: include/functions2.php:68 js/viewfeed.js:2033 msgid "Mark above as read" msgstr "위 글 읽음 표시" @@ -593,8 +553,7 @@ msgstr "글 접기/펴기" msgid "Toggle article expansion (combined mode)" msgstr "글 확장 (혼합 모드)" -#: include/functions2.php:76 -#: plugins/embed_original/init.php:31 +#: include/functions2.php:76 plugins/embed_original/init.php:31 msgid "Toggle embed original" msgstr "원문 표시" @@ -626,8 +585,7 @@ msgstr "선택 반전" msgid "Deselect everything" msgstr "전체 선택 해제" -#: include/functions2.php:84 -#: classes/pref/feeds.php:550 +#: include/functions2.php:84 classes/pref/feeds.php:550 #: classes/pref/feeds.php:794 msgid "Feed" msgstr "피드" @@ -640,14 +598,11 @@ msgstr "이 피드 새로고침" msgid "Un/hide read feeds" msgstr "읽은 피드 숨기기/보이기" -#: include/functions2.php:87 -#: classes/pref/feeds.php:1314 +#: include/functions2.php:87 classes/pref/feeds.php:1314 msgid "Subscribe to feed" msgstr "피드 구독" -#: include/functions2.php:88 -#: js/FeedTree.js:139 -#: js/PrefFeedTree.js:68 +#: include/functions2.php:88 js/FeedTree.js:139 js/PrefFeedTree.js:68 msgid "Edit feed" msgstr "피드 편집" @@ -659,8 +614,7 @@ msgstr "헤드라인 거꾸로 표시" msgid "Debug feed update" msgstr "피드 업데이트 디버그" -#: include/functions2.php:92 -#: js/FeedTree.js:182 +#: include/functions2.php:92 js/FeedTree.js:182 msgid "Mark all feeds as read" msgstr "모든 피드를 읽음 표시" @@ -674,14 +628,13 @@ msgstr "통합 모드 켜기/끄기" #: include/functions2.php:95 msgid "Toggle auto expand in combined mode" -msgstr "통합 모드에서의 자동 확장 켜기/끄기" +msgstr "통합 모드에서의 자동 펼침 켜기/끄기" #: include/functions2.php:96 msgid "Go to" msgstr "이동" -#: include/functions2.php:97 -#: include/functions.php:1975 +#: include/functions2.php:97 include/functions.php:1975 msgid "All articles" msgstr "전체 글" @@ -689,8 +642,7 @@ msgstr "전체 글" msgid "Fresh" msgstr "새 글" -#: include/functions2.php:101 -#: js/tt-rss.js:461 +#: include/functions2.php:101 js/tt-rss.js:461 msgid "Tag cloud" msgstr "태그 클라우드" @@ -698,13 +650,11 @@ msgstr "태그 클라우드" msgid "Other" msgstr "기타" -#: include/functions2.php:104 -#: classes/pref/labels.php:281 +#: include/functions2.php:104 classes/pref/labels.php:281 msgid "Create label" msgstr "라벨 생성" -#: include/functions2.php:105 -#: classes/pref/filters.php:678 +#: include/functions2.php:105 classes/pref/filters.php:678 msgid "Create filter" msgstr "필터 생성" @@ -721,63 +671,45 @@ msgstr "도움말 보이기" msgid "Search results: %s" msgstr "검색 결과: %s" -#: include/functions2.php:1263 -#: classes/feeds.php:714 -#, fuzzy +#: include/functions2.php:1263 classes/feeds.php:714 msgid "comment" msgid_plural "comments" -msgstr[0] "コメント" +msgstr[0] "코멘트" -#: include/functions2.php:1267 -#: classes/feeds.php:718 +#: include/functions2.php:1267 classes/feeds.php:718 msgid "comments" -msgstr "コメント" +msgstr "코멘트" #: include/functions2.php:1308 msgid " - " msgstr " - " -#: include/functions2.php:1341 -#: include/functions2.php:1589 +#: include/functions2.php:1341 include/functions2.php:1589 #: classes/article.php:280 msgid "no tags" msgstr "태그 없음" -#: include/functions2.php:1351 -#: classes/feeds.php:700 +#: include/functions2.php:1351 classes/feeds.php:700 msgid "Edit tags for this article" msgstr "이 글의 태그 편집" -#: include/functions2.php:1383 -#: classes/feeds.php:652 +#: include/functions2.php:1383 classes/feeds.php:652 msgid "Originally from:" msgstr "원 출처:" -#: include/functions2.php:1396 -#: classes/feeds.php:665 +#: include/functions2.php:1396 classes/feeds.php:665 #: classes/pref/feeds.php:569 msgid "Feed URL" msgstr "피드 주소" -#: include/functions2.php:1430 -#: classes/dlg.php:36 -#: classes/dlg.php:59 -#: classes/dlg.php:92 -#: classes/dlg.php:158 -#: classes/dlg.php:189 -#: classes/dlg.php:216 -#: classes/dlg.php:249 -#: classes/dlg.php:261 -#: classes/backend.php:105 -#: classes/pref/users.php:95 -#: classes/pref/filters.php:145 -#: classes/pref/prefs.php:1102 -#: classes/pref/feeds.php:1611 -#: classes/pref/feeds.php:1677 -#: plugins/import_export/init.php:407 -#: plugins/import_export/init.php:452 -#: plugins/googlereaderimport/init.php:194 -#: plugins/share/init.php:123 +#: include/functions2.php:1430 classes/dlg.php:36 classes/dlg.php:59 +#: classes/dlg.php:92 classes/dlg.php:158 classes/dlg.php:189 +#: classes/dlg.php:216 classes/dlg.php:249 classes/dlg.php:261 +#: classes/backend.php:105 classes/pref/users.php:95 +#: classes/pref/filters.php:145 classes/pref/prefs.php:1102 +#: classes/pref/feeds.php:1611 classes/pref/feeds.php:1677 +#: plugins/import_export/init.php:407 plugins/import_export/init.php:452 +#: plugins/googlereaderimport/init.php:194 plugins/share/init.php:123 #: plugins/updater/init.php:375 msgid "Close this window" msgstr "이 창 닫기" @@ -794,15 +726,12 @@ msgstr "알수 없는 종류" msgid "Attachments" msgstr "첨부" -#: include/functions.php:1262 -#: include/functions.php:1914 +#: include/functions.php:1262 include/functions.php:1914 msgid "Special" msgstr "자동 분류" -#: include/functions.php:1765 -#: classes/feeds.php:1124 -#: classes/pref/filters.php:169 -#: classes/pref/filters.php:447 +#: include/functions.php:1765 classes/feeds.php:1124 +#: classes/pref/filters.php:169 classes/pref/filters.php:447 msgid "All feeds" msgstr "모든 피드" @@ -826,14 +755,12 @@ msgstr "보관 처리된 글" msgid "Recently read" msgstr "최근에 읽은 글" -#: include/login_form.php:190 -#: classes/handler/public.php:526 +#: include/login_form.php:190 classes/handler/public.php:526 #: classes/handler/public.php:781 msgid "Login:" msgstr "로그인:" -#: include/login_form.php:200 -#: classes/handler/public.php:529 +#: include/login_form.php:200 classes/handler/public.php:529 msgid "Password:" msgstr "암호:" @@ -845,10 +772,8 @@ msgstr "비밀번호를 잊어버리셨나요?" msgid "Profile:" msgstr "프로필:" -#: include/login_form.php:216 -#: classes/handler/public.php:267 -#: classes/rpc.php:63 -#: classes/pref/prefs.php:1040 +#: include/login_form.php:216 classes/handler/public.php:267 +#: classes/rpc.php:63 classes/pref/prefs.php:1040 msgid "Default profile" msgstr "기본 프로필" @@ -864,8 +789,7 @@ msgstr "" msgid "Remember me" msgstr "ID/PW 저장" -#: include/login_form.php:242 -#: classes/handler/public.php:534 +#: include/login_form.php:242 classes/handler/public.php:534 msgid "Log in" msgstr "로그인" @@ -901,45 +825,29 @@ msgstr "글이 없습니다." msgid "Tags for this article (separated by commas):" msgstr "이 글의 태그 (쉼표로 구분)" -#: classes/article.php:203 -#: classes/pref/users.php:168 -#: classes/pref/labels.php:79 -#: classes/pref/filters.php:425 -#: classes/pref/prefs.php:986 -#: classes/pref/feeds.php:773 -#: classes/pref/feeds.php:900 -#: plugins/nsfw/init.php:85 -#: plugins/mail/init.php:64 -#: plugins/note/init.php:51 +#: classes/article.php:203 classes/pref/users.php:168 +#: classes/pref/labels.php:79 classes/pref/filters.php:425 +#: classes/pref/prefs.php:986 classes/pref/feeds.php:773 +#: classes/pref/feeds.php:900 plugins/nsfw/init.php:85 +#: plugins/mail/init.php:64 plugins/note/init.php:51 #: plugins/instances/init.php:245 msgid "Save" msgstr "저장" -#: classes/article.php:205 -#: classes/handler/public.php:503 -#: classes/handler/public.php:537 -#: classes/feeds.php:1053 -#: classes/feeds.php:1103 -#: classes/feeds.php:1163 -#: classes/pref/users.php:170 -#: classes/pref/labels.php:81 -#: classes/pref/filters.php:428 -#: classes/pref/filters.php:827 -#: classes/pref/filters.php:908 -#: classes/pref/filters.php:975 -#: classes/pref/prefs.php:988 -#: classes/pref/feeds.php:774 -#: classes/pref/feeds.php:903 -#: classes/pref/feeds.php:1817 -#: plugins/mail/init.php:172 -#: plugins/note/init.php:53 -#: plugins/instances/init.php:248 +#: classes/article.php:205 classes/handler/public.php:503 +#: classes/handler/public.php:537 classes/feeds.php:1053 +#: classes/feeds.php:1103 classes/feeds.php:1163 classes/pref/users.php:170 +#: classes/pref/labels.php:81 classes/pref/filters.php:428 +#: classes/pref/filters.php:827 classes/pref/filters.php:908 +#: classes/pref/filters.php:975 classes/pref/prefs.php:988 +#: classes/pref/feeds.php:774 classes/pref/feeds.php:903 +#: classes/pref/feeds.php:1817 plugins/mail/init.php:172 +#: plugins/note/init.php:53 plugins/instances/init.php:248 #: plugins/instances/init.php:436 msgid "Cancel" msgstr "취소" -#: classes/handler/public.php:467 -#: plugins/bookmarklets/init.php:40 +#: classes/handler/public.php:467 plugins/bookmarklets/init.php:40 msgid "Share with Tiny Tiny RSS" msgstr "Tiny Tiny RSS에 공유하기" @@ -947,10 +855,8 @@ msgstr "Tiny Tiny RSS에 공유하기" msgid "Title:" msgstr "제목:" -#: classes/handler/public.php:477 -#: classes/pref/feeds.php:567 -#: plugins/instances/init.php:212 -#: plugins/instances/init.php:401 +#: classes/handler/public.php:477 classes/pref/feeds.php:567 +#: plugins/instances/init.php:212 plugins/instances/init.php:401 msgid "URL:" msgstr "URL:" @@ -1005,7 +911,8 @@ msgstr "여러개의 피드를 찾았습니다." #: classes/handler/public.php:651 #, php-format msgid "Could not subscribe to %s.
Can't download the Feed URL." -msgstr "%s를 구독하는데 실패했습니다.
피드 URL을 다운로드 할 수 없습니다." +msgstr "" +"%s를 구독하는데 실패했습니다.
피드 URL을 다운로드 할 수 없습니다." #: classes/handler/public.php:669 msgid "Subscribe to selected feed" @@ -1020,11 +927,12 @@ msgid "Password recovery" msgstr "암호 복구" #: classes/handler/public.php:774 -msgid "You will need to provide valid account name and email. A password reset link will be sent to your email address." +msgid "" +"You will need to provide valid account name and email. A password reset link " +"will be sent to your email address." msgstr "" -#: classes/handler/public.php:796 -#: classes/pref/users.php:352 +#: classes/handler/public.php:796 classes/pref/users.php:352 msgid "Reset password" msgstr "암호 초기화" @@ -1032,8 +940,7 @@ msgstr "암호 초기화" msgid "Some of the required form parameters are missing or incorrect." msgstr "일부 필수 파라미터가 누락되었거나 잘못되었습니다." -#: classes/handler/public.php:810 -#: classes/handler/public.php:876 +#: classes/handler/public.php:810 classes/handler/public.php:876 msgid "Go back" msgstr "돌아가기" @@ -1059,30 +966,35 @@ msgid "Perform updates" msgstr "업데이트 실행" #: classes/dlg.php:16 -msgid "If you have imported labels and/or filters, you might need to reload preferences to see your new data." +msgid "" +"If you have imported labels and/or filters, you might need to reload " +"preferences to see your new data." msgstr "" #: classes/dlg.php:47 msgid "Your Public OPML URL is:" msgstr "공개 OPML URL: " -#: classes/dlg.php:56 -#: classes/dlg.php:213 -#: plugins/share/init.php:120 +#: classes/dlg.php:56 classes/dlg.php:213 plugins/share/init.php:120 msgid "Generate new URL" msgstr "새 URL 생성" #: classes/dlg.php:70 -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." +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 "" -#: classes/dlg.php:74 -#: classes/dlg.php:83 +#: classes/dlg.php:74 classes/dlg.php:83 msgid "Last update:" msgstr "마지막 업데이트:" #: classes/dlg.php:79 -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." +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 "" #: classes/dlg.php:165 @@ -1109,18 +1021,18 @@ msgstr "제목 표시" msgid "You can view this feed as RSS using the following URL:" msgstr "" -#: classes/dlg.php:232 -#: plugins/updater/init.php:334 +#: classes/dlg.php:232 plugins/updater/init.php:334 #, php-format msgid "New version of Tiny Tiny RSS is available (%s)." msgstr "새 버전의 Tiny Tiny RSS를 사용할 수 있습니다. (%s)" #: classes/dlg.php:240 -msgid "You can update using built-in updater in the Preferences or by using update.php" +msgid "" +"You can update using built-in updater in the Preferences or by using update." +"php" msgstr "" -#: classes/dlg.php:244 -#: plugins/updater/init.php:338 +#: classes/dlg.php:244 plugins/updater/init.php:338 msgid "See the release notes" msgstr "릴리즈 노트 확인하기" @@ -1136,9 +1048,7 @@ msgstr "" msgid "View as RSS feed" msgstr "RSS 피드로 보기" -#: classes/feeds.php:52 -#: classes/feeds.php:132 -#: classes/pref/feeds.php:1473 +#: classes/feeds.php:52 classes/feeds.php:132 classes/pref/feeds.php:1473 msgid "View as RSS" msgstr "RSS로 보기" @@ -1147,19 +1057,12 @@ msgstr "RSS로 보기" msgid "Last updated: %s" msgstr "마지막 업데이트: %s" -#: classes/feeds.php:88 -#: classes/pref/users.php:337 -#: classes/pref/labels.php:275 -#: classes/pref/filters.php:302 -#: classes/pref/filters.php:350 -#: classes/pref/filters.php:672 -#: classes/pref/filters.php:760 -#: classes/pref/filters.php:787 -#: classes/pref/prefs.php:1000 -#: classes/pref/feeds.php:1305 -#: classes/pref/feeds.php:1562 -#: classes/pref/feeds.php:1626 -#: plugins/instances/init.php:287 +#: classes/feeds.php:88 classes/pref/users.php:337 classes/pref/labels.php:275 +#: classes/pref/filters.php:302 classes/pref/filters.php:350 +#: classes/pref/filters.php:672 classes/pref/filters.php:760 +#: classes/pref/filters.php:787 classes/pref/prefs.php:1000 +#: classes/pref/feeds.php:1305 classes/pref/feeds.php:1562 +#: classes/pref/feeds.php:1626 plugins/instances/init.php:287 msgid "All" msgstr "전체" @@ -1167,19 +1070,12 @@ msgstr "전체" msgid "Invert" msgstr "선택 반전" -#: classes/feeds.php:91 -#: classes/pref/users.php:339 -#: classes/pref/labels.php:277 -#: classes/pref/filters.php:304 -#: classes/pref/filters.php:352 -#: classes/pref/filters.php:674 -#: classes/pref/filters.php:762 -#: classes/pref/filters.php:789 -#: classes/pref/prefs.php:1002 -#: classes/pref/feeds.php:1307 -#: classes/pref/feeds.php:1564 -#: classes/pref/feeds.php:1628 -#: plugins/instances/init.php:289 +#: classes/feeds.php:91 classes/pref/users.php:339 classes/pref/labels.php:277 +#: classes/pref/filters.php:304 classes/pref/filters.php:352 +#: classes/pref/filters.php:674 classes/pref/filters.php:762 +#: classes/pref/filters.php:789 classes/pref/prefs.php:1002 +#: classes/pref/feeds.php:1307 classes/pref/feeds.php:1564 +#: classes/pref/feeds.php:1628 plugins/instances/init.php:289 msgid "None" msgstr "선택 안 함" @@ -1207,17 +1103,13 @@ msgstr "보관 처리" msgid "Move back" msgstr "돌아가기" -#: classes/feeds.php:114 -#: classes/pref/filters.php:311 -#: classes/pref/filters.php:359 -#: classes/pref/filters.php:769 +#: classes/feeds.php:114 classes/pref/filters.php:311 +#: classes/pref/filters.php:359 classes/pref/filters.php:769 #: classes/pref/filters.php:796 msgid "Delete" msgstr "삭제" -#: classes/feeds.php:119 -#: classes/feeds.php:124 -#: plugins/mailto/init.php:25 +#: classes/feeds.php:119 classes/feeds.php:124 plugins/mailto/init.php:25 #: plugins/mail/init.php:75 msgid "Forward by email" msgstr "이메일로 전달" @@ -1226,8 +1118,7 @@ msgstr "이메일로 전달" msgid "Feed:" msgstr "피드" -#: classes/feeds.php:201 -#: classes/feeds.php:849 +#: classes/feeds.php:201 classes/feeds.php:849 msgid "Feed not found." msgstr "피드가 없습니다." @@ -1240,11 +1131,9 @@ msgstr "영원히" msgid "Imported at %s" msgstr "%s에서 불러옴" -#: classes/feeds.php:440 -#: classes/feeds.php:535 -#, fuzzy +#: classes/feeds.php:440 classes/feeds.php:535 msgid "mark feed as read" -msgstr "マークしたフィードを既読にする" +msgstr "피드 읽음 표시" #: classes/feeds.php:592 msgid "Collapse article" @@ -1263,21 +1152,24 @@ msgid "No starred articles found to display." msgstr "중요 표시된 글이 없습니다." #: classes/feeds.php:762 -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 "표시할 글이 없습니다. 필터를 사용하거나 글 제목을 우클릭해서 라벨을 추가할 수 있습니다." +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:764 msgid "No articles found to display." msgstr "표시할 글이 없습니다." -#: classes/feeds.php:779 -#: classes/feeds.php:944 +#: classes/feeds.php:779 classes/feeds.php:944 #, php-format msgid "Feeds last updated at %s" msgstr "%s에 마지막으로 업데이트 되었습니다." -#: classes/feeds.php:789 -#: classes/feeds.php:954 +#: classes/feeds.php:789 classes/feeds.php:954 msgid "Some feeds have update errors (click for details)" msgstr "일부 피드에 업데이트 오류가 있습니다 (상세 정보는 클릭)" @@ -1285,15 +1177,12 @@ msgstr "일부 피드에 업데이트 오류가 있습니다 (상세 정보는 msgid "No feed selected." msgstr "선택된 피드가 없습니다." -#: classes/feeds.php:991 -#: classes/feeds.php:999 +#: classes/feeds.php:991 classes/feeds.php:999 msgid "Feed or site URL" msgstr "피드나 사이트 URL" -#: classes/feeds.php:1005 -#: classes/pref/feeds.php:590 -#: classes/pref/feeds.php:801 -#: classes/pref/feeds.php:1781 +#: classes/feeds.php:1005 classes/pref/feeds.php:590 +#: classes/pref/feeds.php:801 classes/pref/feeds.php:1781 msgid "Place in category:" msgstr "카테고리 위치:" @@ -1301,25 +1190,19 @@ msgstr "카테고리 위치:" msgid "Available feeds" msgstr "사용 가능한 피드" -#: classes/feeds.php:1025 -#: classes/pref/users.php:133 -#: classes/pref/feeds.php:620 -#: classes/pref/feeds.php:837 +#: classes/feeds.php:1025 classes/pref/users.php:133 +#: classes/pref/feeds.php:620 classes/pref/feeds.php:837 msgid "Authentication" msgstr "인증" -#: classes/feeds.php:1029 -#: classes/pref/users.php:397 -#: classes/pref/feeds.php:626 -#: classes/pref/feeds.php:841 +#: classes/feeds.php:1029 classes/pref/users.php:397 +#: classes/pref/feeds.php:626 classes/pref/feeds.php:841 #: classes/pref/feeds.php:1795 msgid "Login" msgstr "로그인" -#: classes/feeds.php:1032 -#: classes/pref/prefs.php:261 -#: classes/pref/feeds.php:639 -#: classes/pref/feeds.php:847 +#: classes/feeds.php:1032 classes/pref/prefs.php:261 +#: classes/pref/feeds.php:639 classes/pref/feeds.php:847 #: classes/pref/feeds.php:1798 msgid "Password" msgstr "암호" @@ -1328,9 +1211,7 @@ msgstr "암호" msgid "This feed requires authentication." msgstr "이 피드는 로그인이 필요합니다." -#: classes/feeds.php:1047 -#: classes/feeds.php:1101 -#: classes/pref/feeds.php:1816 +#: classes/feeds.php:1047 classes/feeds.php:1101 classes/pref/feeds.php:1816 msgid "Subscribe" msgstr "구독" @@ -1338,12 +1219,8 @@ msgstr "구독" msgid "More feeds" msgstr "기타 피드" -#: classes/feeds.php:1073 -#: classes/feeds.php:1162 -#: classes/pref/users.php:324 -#: classes/pref/filters.php:665 -#: classes/pref/feeds.php:1298 -#: js/tt-rss.js:174 +#: classes/feeds.php:1073 classes/feeds.php:1162 classes/pref/users.php:324 +#: classes/pref/filters.php:665 classes/pref/feeds.php:1298 js/tt-rss.js:174 msgid "Search" msgstr "검색" @@ -1359,12 +1236,9 @@ msgstr "피드 보관" msgid "limit:" msgstr "제한:" -#: classes/feeds.php:1102 -#: classes/pref/users.php:350 -#: classes/pref/labels.php:284 -#: classes/pref/filters.php:418 -#: classes/pref/filters.php:691 -#: classes/pref/feeds.php:744 +#: classes/feeds.php:1102 classes/pref/users.php:350 +#: classes/pref/labels.php:284 classes/pref/filters.php:418 +#: classes/pref/filters.php:691 classes/pref/feeds.php:744 #: plugins/instances/init.php:294 msgid "Remove" msgstr "삭제" @@ -1382,9 +1256,8 @@ msgid "This feed" msgstr "이 피드" #: classes/feeds.php:1158 -#, fuzzy msgid "Search syntax" -msgstr "ラベルの検索" +msgstr "문법 " #: classes/backend.php:33 msgid "Other interface tips are available in the Tiny Tiny RSS wiki." @@ -1406,8 +1279,7 @@ msgstr "" msgid "Help topic not found." msgstr "도움말 주제가 없습니다." -#: classes/opml.php:28 -#: classes/opml.php:33 +#: classes/opml.php:28 classes/opml.php:33 msgid "OPML Utility" msgstr "OPML 유틸리티" @@ -1453,21 +1325,18 @@ msgstr "필터를 추가하는중..." msgid "Processing category: %s" msgstr "카테고리 처리중: %s" -#: classes/opml.php:470 -#: plugins/import_export/init.php:420 +#: classes/opml.php:470 plugins/import_export/init.php:420 #: plugins/googlereaderimport/init.php:66 #, php-format msgid "Upload failed with error code %d" msgstr "" -#: classes/opml.php:484 -#: plugins/import_export/init.php:434 +#: classes/opml.php:484 plugins/import_export/init.php:434 #: plugins/googlereaderimport/init.php:80 msgid "Unable to move uploaded file." msgstr "업로드된 파일을 이동할 수 없습니다." -#: classes/opml.php:488 -#: plugins/import_export/init.php:438 +#: classes/opml.php:488 plugins/import_export/init.php:438 #: plugins/googlereaderimport/init.php:84 msgid "Error: please upload OPML file." msgstr "오류: OPML 파일을 업로드 하세요." @@ -1476,13 +1345,11 @@ msgstr "오류: OPML 파일을 업로드 하세요." msgid "Error: unable to find moved OPML file." msgstr "오류: 이동된 OPML 파일을 찾을 수 없습니다." -#: classes/opml.php:504 -#: plugins/googlereaderimport/init.php:187 +#: classes/opml.php:504 plugins/googlereaderimport/init.php:187 msgid "Error while parsing document." msgstr "문서 분석중에 오류가 발생했습니다." -#: 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 "현재 계정 권한으로는 이 탭을 사용할 수 없습니다." @@ -1491,8 +1358,7 @@ msgstr "현재 계정 권한으로는 이 탭을 사용할 수 없습니다." msgid "User not found" msgstr "사용자를 찾지 못했습니다." -#: classes/pref/users.php:53 -#: classes/pref/users.php:399 +#: classes/pref/users.php:53 classes/pref/users.php:399 msgid "Registered" msgstr "등록 일자" @@ -1512,8 +1378,7 @@ msgstr "구독중인 피드" msgid "Access level: " msgstr "계정 권한:" -#: classes/pref/users.php:154 -#: classes/pref/feeds.php:647 +#: classes/pref/users.php:154 classes/pref/feeds.php:647 #: classes/pref/feeds.php:853 msgid "Options" msgstr "옵션" @@ -1547,18 +1412,12 @@ msgstr "사용자 %s의 새 암호를 %s로 보내중..." msgid "[tt-rss] Password change notification" msgstr "[tt-rss] 암호 변경 안내" -#: classes/pref/users.php:334 -#: classes/pref/labels.php:272 -#: classes/pref/filters.php:299 -#: classes/pref/filters.php:347 -#: classes/pref/filters.php:669 -#: classes/pref/filters.php:757 -#: classes/pref/filters.php:784 -#: classes/pref/prefs.php:997 -#: classes/pref/feeds.php:1302 -#: classes/pref/feeds.php:1559 -#: classes/pref/feeds.php:1623 -#: plugins/instances/init.php:284 +#: classes/pref/users.php:334 classes/pref/labels.php:272 +#: classes/pref/filters.php:299 classes/pref/filters.php:347 +#: classes/pref/filters.php:669 classes/pref/filters.php:757 +#: classes/pref/filters.php:784 classes/pref/prefs.php:997 +#: classes/pref/feeds.php:1302 classes/pref/feeds.php:1559 +#: classes/pref/feeds.php:1623 plugins/instances/init.php:284 msgid "Select" msgstr "선택" @@ -1570,8 +1429,7 @@ msgstr "사용자 생성" msgid "Details" msgstr "상세 정보" -#: classes/pref/users.php:348 -#: classes/pref/filters.php:684 +#: classes/pref/users.php:348 classes/pref/filters.php:684 #: plugins/instances/init.php:293 msgid "Edit" msgstr "편집" @@ -1584,8 +1442,7 @@ msgstr "계정 권한" msgid "Last login" msgstr "마지막 로그인" -#: classes/pref/users.php:419 -#: plugins/instances/init.php:334 +#: classes/pref/users.php:419 plugins/instances/init.php:334 msgid "Click to edit" msgstr "클릭하여 편집" @@ -1597,8 +1454,7 @@ msgstr "정의된 사용자가 없습니다." msgid "No matching users found." msgstr "일치하는 사용자가 없습니다." -#: classes/pref/labels.php:22 -#: classes/pref/filters.php:288 +#: classes/pref/labels.php:22 classes/pref/filters.php:288 #: classes/pref/filters.php:748 msgid "Caption" msgstr "자막" @@ -1633,55 +1489,47 @@ msgid "No recent articles matching this filter have been found." msgstr "이 필터에 해당하는 최근 글이 없습니다." #: classes/pref/filters.php:135 -msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation." +msgid "" +"Complex expressions might not give results while testing due to issues with " +"database server regexp implementation." msgstr "" -#: classes/pref/filters.php:179 -#: classes/pref/filters.php:458 +#: classes/pref/filters.php:179 classes/pref/filters.php:458 msgid "(inverse)" msgstr "반전" -#: classes/pref/filters.php:175 -#: classes/pref/filters.php:457 +#: classes/pref/filters.php:175 classes/pref/filters.php:457 #, php-format msgid "%s on %s in %s %s" msgstr "" -#: classes/pref/filters.php:294 -#: classes/pref/filters.php:752 +#: classes/pref/filters.php:294 classes/pref/filters.php:752 #: classes/pref/filters.php:867 msgid "Match" msgstr "일치" -#: classes/pref/filters.php:308 -#: classes/pref/filters.php:356 -#: classes/pref/filters.php:766 -#: classes/pref/filters.php:793 +#: classes/pref/filters.php:308 classes/pref/filters.php:356 +#: classes/pref/filters.php:766 classes/pref/filters.php:793 msgid "Add" msgstr "추가" -#: classes/pref/filters.php:342 -#: classes/pref/filters.php:779 +#: classes/pref/filters.php:342 classes/pref/filters.php:779 msgid "Apply actions" msgstr "동작 적용" -#: classes/pref/filters.php:392 -#: classes/pref/filters.php:808 +#: classes/pref/filters.php:392 classes/pref/filters.php:808 msgid "Enabled" msgstr "활성화" -#: classes/pref/filters.php:401 -#: classes/pref/filters.php:811 +#: classes/pref/filters.php:401 classes/pref/filters.php:811 msgid "Match any rule" msgstr "아무 규칙이나 적용" -#: classes/pref/filters.php:410 -#: classes/pref/filters.php:814 +#: classes/pref/filters.php:410 classes/pref/filters.php:814 msgid "Inverse matching" msgstr "반대 적용" -#: classes/pref/filters.php:422 -#: classes/pref/filters.php:821 +#: classes/pref/filters.php:422 classes/pref/filters.php:821 msgid "Test" msgstr "테스트" @@ -1689,14 +1537,12 @@ msgstr "테스트" msgid "Combine" msgstr "병합" -#: classes/pref/filters.php:687 -#: classes/pref/feeds.php:1318 +#: classes/pref/filters.php:687 classes/pref/feeds.php:1318 #: classes/pref/feeds.php:1332 msgid "Reset sort order" msgstr "정렬 순서 초기화" -#: classes/pref/filters.php:695 -#: classes/pref/feeds.php:1354 +#: classes/pref/filters.php:695 classes/pref/feeds.php:1354 msgid "Rescore articles" msgstr "글 점수 다시 매기기" @@ -1712,8 +1558,7 @@ msgstr "" msgid "on field" msgstr "필드" -#: classes/pref/filters.php:887 -#: js/PrefFilterTree.js:61 +#: classes/pref/filters.php:887 js/PrefFilterTree.js:61 msgid "in" msgstr "" @@ -1742,8 +1587,7 @@ msgstr "파라미터 포함:" msgid "Save action" msgstr "저장 동작" -#: classes/pref/filters.php:972 -#: js/functions.js:1048 +#: classes/pref/filters.php:972 js/functions.js:1048 msgid "Add action" msgstr "동작 추가" @@ -1792,7 +1636,9 @@ msgid "Blacklisted tags" msgstr "블랙리스트된 태그" #: classes/pref/prefs.php:27 -msgid "When auto-detecting tags in articles these tags will not be applied (comma-separated list)." +msgid "" +"When auto-detecting tags in articles these tags will not be applied (comma-" +"separated list)." msgstr "" #: classes/pref/prefs.php:28 @@ -1800,20 +1646,27 @@ msgid "Automatically mark articles as read" msgstr "자동으로 읽음 표시" #: classes/pref/prefs.php:28 -msgid "This option enables marking articles as read automatically while you scroll article list." -msgstr "이 옵션을 선택하면, 글 목록에서 아래로 스크롤할때 자동으로 읽음 표시가 됩니다." +msgid "" +"This option enables marking articles as read automatically while you scroll " +"article list." +msgstr "" +"이 옵션을 선택하면, 글 목록에서 아래로 스크롤할때 자동으로 읽음 표시가 됩니" +"다." #: classes/pref/prefs.php:29 msgid "Automatically expand articles in combined mode" -msgstr "통합 모드에서 자동으로 글 확장" +msgstr "통합 모드에서 자동으로 글 펼침" #: classes/pref/prefs.php:30 msgid "Combined feed display" msgstr "피드 통합 표시" #: classes/pref/prefs.php:30 -msgid "Display expanded list of feed articles, instead of separate displays for headlines and article content" -msgstr "제목하고 내용을 분리해서 표시하지 않고, 피드 내용의 확장된 목록을 보여줍니다." +msgid "" +"Display expanded list of feed articles, instead of separate displays for " +"headlines and article content" +msgstr "" +"제목하고 내용을 분리해서 표시하지 않고, 피드 내용의 펼쳐진 목록을 보여줍니다." #: classes/pref/prefs.php:31 msgid "Confirm marking feed as read" @@ -1828,7 +1681,9 @@ msgid "Default feed update interval" msgstr "피드 업데이트 주기" #: 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 "" #: classes/pref/prefs.php:34 @@ -1840,7 +1695,9 @@ msgid "Enable e-mail digest" msgstr "이메일 요약본 활성화" #: classes/pref/prefs.php:35 -msgid "This option enables sending daily digest of new (and unread) headlines on your configured e-mail address" +msgid "" +"This option enables sending daily digest of new (and unread) headlines on " +"your configured e-mail address" msgstr "" #: classes/pref/prefs.php:36 @@ -1884,7 +1741,9 @@ msgid "Long date format" msgstr "긴 날짜 형식" #: classes/pref/prefs.php:43 -msgid "The syntax used is identical to the PHP date() function." +msgid "" +"The syntax used is identical to the PHP date() function." msgstr "" #: classes/pref/prefs.php:44 @@ -1892,7 +1751,8 @@ msgid "On catchup show next feed" msgstr "다시 볼 때 다음 피드를 표시" #: 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 "" #: classes/pref/prefs.php:45 @@ -2061,11 +1921,12 @@ msgid "One time passwords / Authenticator" msgstr "" #: classes/pref/prefs.php:328 -msgid "One time passwords are currently enabled. Enter your current password below to disable." +msgid "" +"One time passwords are currently enabled. Enter your current password below " +"to disable." msgstr "" -#: classes/pref/prefs.php:353 -#: classes/pref/prefs.php:404 +#: classes/pref/prefs.php:353 classes/pref/prefs.php:404 msgid "Enter your password" msgstr "암호를 입력하세요" @@ -2074,7 +1935,9 @@ msgid "Disable OTP" msgstr "OTP 비활성화" #: classes/pref/prefs.php:370 -msgid "You will need a compatible Authenticator to use this. Changing your password would automatically disable OTP." +msgid "" +"You will need a compatible Authenticator to use this. Changing your password " +"would automatically disable OTP." msgstr "" #: classes/pref/prefs.php:372 @@ -2135,44 +1998,43 @@ msgid "Plugins" msgstr "플러그인" #: classes/pref/prefs.php:709 -msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect." +msgid "" +"You will need to reload Tiny Tiny RSS for plugin changes to take effect." msgstr "변경 사항을 적용하기 위해서는 Tiny Tiny RSS를 새로 고침해야합니다." #: classes/pref/prefs.php:711 -msgid "Download more plugins at tt-rss.org forums or wiki." +msgid "" +"Download more plugins at tt-rss.org forums or wiki." msgstr "" #: classes/pref/prefs.php:737 msgid "System plugins" msgstr "시스템 플러그인" -#: classes/pref/prefs.php:741 -#: classes/pref/prefs.php:797 +#: classes/pref/prefs.php:741 classes/pref/prefs.php:797 msgid "Plugin" msgstr "" -#: classes/pref/prefs.php:742 -#: classes/pref/prefs.php:798 +#: classes/pref/prefs.php:742 classes/pref/prefs.php:798 msgid "Description" msgstr "설명" -#: classes/pref/prefs.php:743 -#: classes/pref/prefs.php:799 +#: classes/pref/prefs.php:743 classes/pref/prefs.php:799 msgid "Version" msgstr "" -#: classes/pref/prefs.php:744 -#: classes/pref/prefs.php:800 +#: classes/pref/prefs.php:744 classes/pref/prefs.php:800 msgid "Author" msgstr "" -#: classes/pref/prefs.php:775 -#: classes/pref/prefs.php:834 +#: classes/pref/prefs.php:775 classes/pref/prefs.php:834 msgid "more info" msgstr "" -#: classes/pref/prefs.php:784 -#: classes/pref/prefs.php:843 +#: classes/pref/prefs.php:784 classes/pref/prefs.php:843 msgid "Clear data" msgstr "데이터 제거" @@ -2188,22 +2050,23 @@ msgstr "선택한 플러그인 켜기" msgid "Incorrect one time password" msgstr "잘못된 OTP 입니다" -#: classes/pref/prefs.php:929 -#: classes/pref/prefs.php:946 +#: classes/pref/prefs.php:929 classes/pref/prefs.php:946 msgid "Incorrect password" msgstr "잘못된 암호입니다" #: classes/pref/prefs.php:971 #, php-format -msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. This file can be used as a baseline." +msgid "" +"You can override colors, fonts and layout of your currently selected theme " +"with custom CSS declarations here. This file can be used as a baseline." msgstr "" #: classes/pref/prefs.php:1011 msgid "Create profile" msgstr "프로필 생성" -#: classes/pref/prefs.php:1034 -#: classes/pref/prefs.php:1062 +#: classes/pref/prefs.php:1034 classes/pref/prefs.php:1062 msgid "(active)" msgstr "(활성화)" @@ -2219,62 +2082,53 @@ msgstr "프로필 활성화" msgid "Check to enable field" msgstr "필드 활성화 확인" -#: classes/pref/feeds.php:63 -#: classes/pref/feeds.php:212 -#: classes/pref/feeds.php:256 -#: classes/pref/feeds.php:262 +#: classes/pref/feeds.php:63 classes/pref/feeds.php:212 +#: classes/pref/feeds.php:256 classes/pref/feeds.php:262 #: classes/pref/feeds.php:288 -#, fuzzy, php-format +#, php-format msgid "(%d feed)" msgid_plural "(%d feeds)" -msgstr[0] "フィードを編集する" -msgstr[1] "フィードを編集する" +msgstr[0] "(%d개의 피드)" #: classes/pref/feeds.php:556 msgid "Feed Title" msgstr "피드 제목" -#: classes/pref/feeds.php:598 -#: classes/pref/feeds.php:812 +#: classes/pref/feeds.php:598 classes/pref/feeds.php:812 msgid "Update" msgstr "업데이트" -#: classes/pref/feeds.php:613 -#: classes/pref/feeds.php:828 +#: classes/pref/feeds.php:613 classes/pref/feeds.php:828 msgid "Article purging:" msgstr "글을 유지:" #: classes/pref/feeds.php:643 -msgid "Hint: you need to fill in your login information if your feed requires authentication, except for Twitter feeds." +msgid "" +"Hint: you need to fill in your login information if your feed " +"requires authentication, except for Twitter feeds." msgstr "" -#: classes/pref/feeds.php:659 -#: classes/pref/feeds.php:857 +#: classes/pref/feeds.php:659 classes/pref/feeds.php:857 msgid "Hide from Popular feeds" msgstr "인기 피드에서 숨김" -#: classes/pref/feeds.php:671 -#: classes/pref/feeds.php:863 +#: classes/pref/feeds.php:671 classes/pref/feeds.php:863 msgid "Include in e-mail digest" msgstr "이메일 요약에 포함" -#: classes/pref/feeds.php:684 -#: classes/pref/feeds.php:869 +#: classes/pref/feeds.php:684 classes/pref/feeds.php:869 msgid "Always display image attachments" msgstr "" -#: classes/pref/feeds.php:697 -#: classes/pref/feeds.php:877 +#: classes/pref/feeds.php:697 classes/pref/feeds.php:877 msgid "Do not embed images" msgstr "" -#: classes/pref/feeds.php:710 -#: classes/pref/feeds.php:885 +#: classes/pref/feeds.php:710 classes/pref/feeds.php:885 msgid "Cache images locally" msgstr "이미지를 로컬에 캐쉬" -#: classes/pref/feeds.php:722 -#: classes/pref/feeds.php:891 +#: classes/pref/feeds.php:722 classes/pref/feeds.php:891 msgid "Mark updated articles as unread" msgstr "업데이트된 글을 읽지 않음 표시" @@ -2294,8 +2148,7 @@ msgstr "업데이트 알림을 위해 다시 구독" msgid "Resets PubSubHubbub subscription status for push-enabled feeds." msgstr "" -#: classes/pref/feeds.php:1146 -#: classes/pref/feeds.php:1199 +#: classes/pref/feeds.php:1146 classes/pref/feeds.php:1199 msgid "All done." msgstr "완료되었습니다." @@ -2311,8 +2164,7 @@ msgstr "피드 비활성화" msgid "Edit selected feeds" msgstr "선택된 피드 편집" -#: classes/pref/feeds.php:1320 -#: js/prefs.js:1732 +#: classes/pref/feeds.php:1320 js/prefs.js:1732 msgid "Batch subscribe" msgstr "일괄 구독" @@ -2345,7 +2197,9 @@ msgid "OPML" msgstr "OPML" #: classes/pref/feeds.php:1406 -msgid "Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings." +msgid "" +"Using OPML you can export and import your feeds, filters, labels and Tiny " +"Tiny RSS settings." msgstr "OPML을 사용하면 피드/필터/라벨/설정을 내보내고 불러올 수 있습니다." #: classes/pref/feeds.php:1406 @@ -2369,11 +2223,15 @@ msgid "Export OPML" msgstr "OPML 내보내기" #: classes/pref/feeds.php:1433 -msgid "Your OPML can be published publicly and can be subscribed by anyone who knows the URL below." +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:1435 -msgid "Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds." +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:1437 @@ -2389,8 +2247,11 @@ msgid "Firefox integration" msgstr "Firefox 연동" #: classes/pref/feeds.php:1449 -msgid "This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the link below." -msgstr "Tiny Tiny RSS를 Firefox Feed Reader로 사용하려면 아래 링크를 클릭하세요." +msgid "" +"This Tiny Tiny RSS site can be used as a Firefox Feed Reader by clicking the " +"link below." +msgstr "" +"Tiny Tiny RSS를 Firefox Feed Reader로 사용하려면 아래 링크를 클릭하세요." #: classes/pref/feeds.php:1456 msgid "Click here to register this site as a feed reader." @@ -2401,8 +2262,11 @@ msgid "Published & shared articles / Generated feeds" msgstr "공개, 공유된 글 / 생성된 피드" #: classes/pref/feeds.php:1466 -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만으로 구독할 수 있습니다." +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:1474 msgid "Display URL" @@ -2413,16 +2277,16 @@ msgid "Clear all generated URLs" msgstr "이미 만들어진 URL 제거" #: classes/pref/feeds.php:1555 -msgid "These feeds have not been updated with new content for 3 months (oldest first):" +msgid "" +"These feeds have not been updated with new content for 3 months (oldest " +"first):" msgstr "3개월 이상 업데이트 되지 않은 피드(오래된 순서):" -#: classes/pref/feeds.php:1589 -#: classes/pref/feeds.php:1653 +#: classes/pref/feeds.php:1589 classes/pref/feeds.php:1653 msgid "Click to edit feed" msgstr "클릭하여 피드 편집" -#: classes/pref/feeds.php:1607 -#: classes/pref/feeds.php:1673 +#: classes/pref/feeds.php:1607 classes/pref/feeds.php:1673 msgid "Unsubscribe from selected feeds" msgstr "선택된 피드 구독 해제 중..." @@ -2470,8 +2334,7 @@ msgstr "날짜" msgid "Close article" msgstr "글 닫기" -#: plugins/nsfw/init.php:30 -#: plugins/nsfw/init.php:42 +#: plugins/nsfw/init.php:30 plugins/nsfw/init.php:42 msgid "Not work safe (click to toggle)" msgstr "" @@ -2499,15 +2362,12 @@ msgstr "암호가 변경되었습니다." msgid "Old password is incorrect." msgstr "현재 암호가 틀립니다." -#: plugins/mailto/init.php:49 -#: plugins/mailto/init.php:55 -#: plugins/mail/init.php:112 -#: plugins/mail/init.php:118 +#: plugins/mailto/init.php:49 plugins/mailto/init.php:55 +#: plugins/mail/init.php:112 plugins/mail/init.php:118 msgid "[Forwarded]" msgstr "" -#: plugins/mailto/init.php:49 -#: plugins/mail/init.php:112 +#: plugins/mailto/init.php:49 plugins/mail/init.php:112 msgid "Multiple articles" msgstr "여러 글" @@ -2520,7 +2380,8 @@ msgid "Forward selected article(s) by email." msgstr "선택된 글이 이메일로 전달되었습니다." #: plugins/mailto/init.php:78 -msgid "You should be able to edit the message before sending in your mail client." +msgid "" +"You should be able to edit the message before sending in your mail client." msgstr "" #: plugins/mailto/init.php:83 @@ -2532,7 +2393,9 @@ msgid "Bookmarklets" msgstr "" #: 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." +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 "" #: plugins/bookmarklets/init.php:26 @@ -2553,7 +2416,9 @@ msgid "Import and export" msgstr "" #: plugins/import_export/init.php:60 -msgid "You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances of same version." +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 @@ -2602,8 +2467,7 @@ msgstr "" msgid "Prepare data" msgstr "데이터 준비" -#: plugins/import_export/init.php:446 -#: plugins/googlereaderimport/init.php:92 +#: plugins/import_export/init.php:446 plugins/googlereaderimport/init.php:92 msgid "No file uploaded." msgstr "업로드된 파일 없음." @@ -2632,8 +2496,7 @@ msgstr "제목:" msgid "Send e-mail" msgstr "이메일 전송" -#: 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 "글 노트 편집" @@ -2666,8 +2529,7 @@ msgstr "" msgid "The following comics are currently supported:" msgstr "" -#: plugins/vf_shared/init.php:16 -#: plugins/vf_shared/init.php:54 +#: plugins/vf_shared/init.php:16 plugins/vf_shared/init.php:54 #, fuzzy msgid "Shared articles" msgstr "중요 표시된 글" @@ -2676,35 +2538,29 @@ msgstr "중요 표시된 글" msgid "Linked" msgstr "연결됨" -#: plugins/instances/init.php:204 -#: plugins/instances/init.php:395 +#: plugins/instances/init.php:204 plugins/instances/init.php:395 msgid "Instance" msgstr "" -#: 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 "" -#: plugins/instances/init.php:226 -#: plugins/instances/init.php:414 +#: plugins/instances/init.php:226 plugins/instances/init.php:414 msgid "Access key:" msgstr "접근 키:" -#: 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 "접근 키" -#: 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 "" -#: 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 "새 키 생성" @@ -2713,7 +2569,9 @@ msgid "Link instance" msgstr "링크 항목" #: 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:" +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 "" #: plugins/instances/init.php:314 @@ -2753,8 +2611,7 @@ msgstr "" msgid "Unshare article" msgstr "중요 표시 해제" -#: plugins/updater/init.php:324 -#: plugins/updater/init.php:341 +#: plugins/updater/init.php:324 plugins/updater/init.php:341 #: plugins/updater/updater.js:10 msgid "Update Tiny Tiny RSS" msgstr "Tiny Tiny RSS 업데이트" @@ -2781,7 +2638,10 @@ msgid "Your database will not be modified." msgstr "" #: plugins/updater/init.php:367 -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 "" #: plugins/updater/init.php:368 @@ -2805,7 +2665,10 @@ msgid "Close" msgstr "" #: js/functions.js:104 -msgid "Are you sure to report this exception to tt-rss.org? The report will include information about your web browser and tt-rss configuration. Your IP will be saved in the database." +msgid "" +"Are you sure to report this exception to tt-rss.org? The report will include " +"information about your web browser and tt-rss configuration. Your IP will be " +"saved in the database." msgstr "" #: js/functions.js:236 @@ -2821,15 +2684,16 @@ msgid "Create Filter" msgstr "필터 생성" #: js/functions.js:1215 -msgid "Reset subscription? Tiny Tiny RSS will try to subscribe to the notification hub again on next feed update." +msgid "" +"Reset subscription? Tiny Tiny RSS will try to subscribe to the notification " +"hub again on next feed update." msgstr "" #: js/functions.js:1226 msgid "Subscription reset." msgstr "구독이 초기화되었습니다." -#: js/functions.js:1236 -#: js/tt-rss.js:678 +#: js/functions.js:1236 js/tt-rss.js:678 #, perl-format msgid "Unsubscribe from %s?" msgstr "%s를 구독 해제 할까요?" @@ -2850,18 +2714,15 @@ msgstr "" msgid "Trying to change address..." msgstr "주소 변경중..." -#: js/functions.js:1682 -#: js/functions.js:1792 -#: js/prefs.js:414 -#: js/prefs.js:444 -#: js/prefs.js:476 -#: js/prefs.js:629 -#: js/prefs.js:649 +#: js/functions.js:1682 js/functions.js:1792 js/prefs.js:414 js/prefs.js:444 +#: js/prefs.js:476 js/prefs.js:629 js/prefs.js:649 msgid "No feeds are selected." msgstr "선택된 피드가 없습니다." #: js/functions.js:1724 -msgid "Remove selected feeds from the archive? Feeds with stored articles will not be removed." +msgid "" +"Remove selected feeds from the archive? Feeds with stored articles will not " +"be removed." msgstr "" #: js/functions.js:1763 @@ -2904,11 +2765,8 @@ msgstr "사용자 추가중..." msgid "User Editor" msgstr "사용자 편집기" -#: js/prefs.js:99 -#: js/prefs.js:211 -#: js/prefs.js:736 -#: plugins/instances/instances.js:26 -#: plugins/instances/instances.js:89 +#: js/prefs.js:99 js/prefs.js:211 js/prefs.js:736 +#: plugins/instances/instances.js:26 plugins/instances/instances.js:89 msgid "Saving data..." msgstr "데이터 저장중..." @@ -2937,17 +2795,16 @@ msgid "No labels are selected." msgstr "선택된 라벨이 없습니다." #: js/prefs.js:326 -msgid "Remove selected users? Neither default admin nor your account will be removed." +msgid "" +"Remove selected users? Neither default admin nor your account will be " +"removed." msgstr "" #: js/prefs.js:329 msgid "Removing selected users..." msgstr "사용자 삭제중..." -#: js/prefs.js:343 -#: js/prefs.js:487 -#: js/prefs.js:508 -#: js/prefs.js:547 +#: js/prefs.js:343 js/prefs.js:487 js/prefs.js:508 js/prefs.js:547 msgid "No users are selected." msgstr "선택된 사용자가 없습니다." @@ -2959,9 +2816,7 @@ msgstr "선택한 필터를 삭제할까요?" msgid "Removing selected filters..." msgstr "필터 제거중..." -#: js/prefs.js:376 -#: js/prefs.js:584 -#: js/prefs.js:603 +#: js/prefs.js:376 js/prefs.js:584 js/prefs.js:603 msgid "No filters are selected." msgstr "선택된 필터가 없습니다." @@ -2993,9 +2848,7 @@ msgstr "글을 며칠간 보관할까요? (0 - 기본 설정 사용)" msgid "Purging selected feed..." msgstr "선택된 피드 남겨놓는중..." -#: js/prefs.js:492 -#: js/prefs.js:513 -#: js/prefs.js:552 +#: js/prefs.js:492 js/prefs.js:513 js/prefs.js:552 msgid "Please select only one user." msgstr "사용자 한 명만 선택하세요." @@ -3039,8 +2892,7 @@ msgstr "OPML 불러오기" msgid "Please choose an OPML file first." msgstr "먼저 OPML 파일을 선택하세요." -#: js/prefs.js:802 -#: plugins/import_export/import_export.js:115 +#: js/prefs.js:802 plugins/import_export/import_export.js:115 #: plugins/googlereaderimport/init.js:45 msgid "Importing, please wait..." msgstr "불러오는 중입니다. 화장실이라도 다녀오시죠?" @@ -3073,8 +2925,7 @@ msgstr "모든 피드를 읽음 표시중..." msgid "Please enable mail plugin first." msgstr "먼저 메일 플러그인을 켜세요." -#: js/tt-rss.js:426 -#: js/tt-rss.js:659 +#: js/tt-rss.js:426 js/tt-rss.js:659 msgid "You can't edit this kind of feed." msgstr "이 형식의 피드는 편집할 수 없습니다." @@ -3086,8 +2937,7 @@ msgstr "먼저 embed_original 플러그인을 켜세요." msgid "You can't unsubscribe from the category." msgstr "카테고리에서는 구독 해제 할 수 없습니다." -#: js/tt-rss.js:672 -#: js/tt-rss.js:825 +#: js/tt-rss.js:672 js/tt-rss.js:825 msgid "Please select some feed first." msgstr "피드를 먼저 선택하세요." @@ -3126,14 +2976,9 @@ msgid "%d article selected" msgid_plural "%d articles selected" msgstr[0] "%d개의 글이 선택되었습니다." -#: js/viewfeed.js:762 -#: js/viewfeed.js:790 -#: js/viewfeed.js:1038 -#: js/viewfeed.js:1081 -#: js/viewfeed.js:1134 -#: js/viewfeed.js:2289 -#: plugins/mailto/init.js:7 -#: plugins/mail/mail.js:7 +#: js/viewfeed.js:762 js/viewfeed.js:790 js/viewfeed.js:1038 +#: js/viewfeed.js:1081 js/viewfeed.js:1134 js/viewfeed.js:2289 +#: plugins/mailto/init.js:7 plugins/mail/mail.js:7 msgid "No articles are selected." msgstr "선택된 글이 없습니다." @@ -3162,7 +3007,8 @@ msgid_plural "Move %d archived articles back?" msgstr[0] "보관 처리된 %d개의 글을 다시 옮길까요?" #: js/viewfeed.js:1095 -msgid "Please note that unstarred articles might get purged on next feed update." +msgid "" +"Please note that unstarred articles might get purged on next feed update." msgstr "" #: js/viewfeed.js:1140 @@ -3208,7 +3054,7 @@ msgstr "읽음 표시" #: js/viewfeed.js:2203 msgid "Mark feed as read" -msgstr "マークしたフィードを既読にする" +msgstr "피드 읽음 표시" #: js/viewfeed.js:2258 msgid "Please enter new score for selected articles:" @@ -3226,8 +3072,7 @@ msgstr "글 URL:" msgid "Sorry, your browser does not support sandboxed iframes." msgstr "" -#: 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 "이메일로 글 전달" @@ -3237,8 +3082,12 @@ msgstr "데이터 내보내기" #: plugins/import_export/import_export.js:40 #, perl-format -msgid "Finished, exported %d article. You can download the data here." -msgid_plural "Finished, exported %d articles. You can download the data here." +msgid "" +"Finished, exported %d article. You can download the data here." +msgid_plural "" +"Finished, exported %d articles. You can download the data here." msgstr[0] "" msgstr[1] "" @@ -3265,7 +3114,7 @@ msgstr "글 노트 저장중..." #: plugins/shorten_expanded/init.js:37 msgid "Click to expand article" -msgstr "開いた記事のクリック" +msgstr "글을 펼쳐보려면 클릭하세요" #: plugins/googlereaderimport/init.js:18 msgid "Google Reader Import" @@ -3291,8 +3140,7 @@ msgstr "선택된 항목을 제거할까요?" msgid "Removing selected instances..." msgstr "선택된 항목 제거중..." -#: 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 "선택된 항목이 없습니다." @@ -3322,9 +3170,8 @@ msgid "Generate new share URL for this article?" msgstr "이 글의 점수를 새로 매기세요:" #: plugins/share/share.js:18 -#, fuzzy msgid "Trying to change URL..." -msgstr "電子メールの変更を試みています..." +msgstr "URL 변경중..." #: plugins/share/share.js:55 #, fuzzy @@ -3337,7 +3184,9 @@ msgid "Trying to unshare..." msgstr "주소 변경중..." #: plugins/updater/updater.js:58 -msgid "Backup your tt-rss directory before continuing. Please type 'yes' to continue." +msgid "" +"Backup your tt-rss directory before continuing. Please type 'yes' to " +"continue." msgstr "" #~ msgid "Mark all articles in %s as read?" @@ -3614,7 +3463,8 @@ msgstr "" #~ msgstr "データベースを更新できません" #~ msgid "Could not find necessary schema file, need version:" -#~ msgstr "必要なスキーマファイルを見つけられませんでした。次のバージョンが必要です:" +#~ msgstr "" +#~ "必要なスキーマファイルを見つけられませんでした。次のバージョンが必要です:" #~ msgid ", found: " #~ msgstr ", 以下が見つかりました: " @@ -3625,8 +3475,12 @@ msgstr "" #~ msgid "Please backup your database before proceeding." #~ msgstr "実行前にデータベースのバックアップをしてください。" -#~ msgid "Your Tiny Tiny RSS database needs update to the latest version (%d to %d)." -#~ msgstr "Tiny Tiny RSS は最新のバージョンに更新する必要があります (%d から %d)。" +#~ msgid "" +#~ "Your Tiny Tiny RSS database needs update to the latest version (%d " +#~ "to %d)." +#~ msgstr "" +#~ "Tiny Tiny RSS は最新のバージョンに更新する必要があります (%d から " +#~ "%d)。" #~ msgid "Performing updates..." #~ msgstr "更新を実行しています..." @@ -3645,18 +3499,28 @@ msgstr "" #, fuzzy #~ msgid "Finished. Performed %d update up to schema version %d." -#~ msgid_plural "Finished. Performed %d updates up to schema version %d." -#~ msgstr[0] "完了しました。%d 個のテーブルをスキーマーバージョン%d に更新しました。" -#~ msgstr[1] "完了しました。%d 個のテーブルをスキーマーバージョン%d に更新しました。" +#~ msgid_plural "" +#~ "Finished. Performed %d updates up to schema version %d." +#~ msgstr[0] "" +#~ "完了しました。%d 個のテーブルをスキーマーバージョン%d に更新" +#~ "しました。" +#~ msgstr[1] "" +#~ "完了しました。%d 個のテーブルをスキーマーバージョン%d に更新" +#~ "しました。" #~ msgid "Your database schema is from a newer version of Tiny Tiny RSS." #~ msgstr "Databaseスキーマは、Tiny Tiny RSSの新しいバージョンからのものです。" #~ msgid "Found schema version: %d, required: %d." -#~ msgstr "スキーマバージョンが: %d, でした。 以下が必要です: %d." +#~ msgstr "" +#~ "スキーマバージョンが: %d, でした。 以下が必要です: %d." -#~ msgid "Schema upgrade impossible. Please update Tiny Tiny RSS files to the newer version and continue." -#~ msgstr "スキーマアップグレードができません。Tiny Tiny RSSを新しいバージョンに更新してから続けてください。" +#~ msgid "" +#~ "Schema upgrade impossible. Please update Tiny Tiny RSS files to the newer " +#~ "version and continue." +#~ msgstr "" +#~ "スキーマアップグレードができません。Tiny Tiny RSSを新しいバージョンに更新" +#~ "してから続けてください。" #~ msgid "Title or Content" #~ msgstr "題名か内容" @@ -3702,7 +3566,9 @@ msgstr "" #~ msgstr "「%s」のすべての可視記事を既読に設定しますか?" #~ msgid "Form secret key incorrect. Please enable cookies and try again." -#~ msgstr "シークレットキーが正しくありません。クッキーを有効にして再度実行してください。" +#~ msgstr "" +#~ "シークレットキーが正しくありません。クッキーを有効にして再度実行してくださ" +#~ "い。" #~ msgid "Score" #~ msgstr "スコア" @@ -3905,8 +3771,12 @@ msgstr "" #~ msgid "Feed Categories" #~ msgstr "カテゴリー:" -#~ msgid "When \"Mark as read\" button is clicked in toolbar, automatically open next feed with unread articles." -#~ msgstr "ツールバーの「既読に設定する」をクリックしたとき、自動的に次のフィードの未読記事を開きます。" +#~ msgid "" +#~ "When \"Mark as read\" button is clicked in toolbar, automatically open " +#~ "next feed with unread articles." +#~ msgstr "" +#~ "ツールバーの「既読に設定する」をクリックしたとき、自動的に次のフィードの未" +#~ "読記事を開きます。" #, fuzzy #~ msgid "Importing using DOMXML." @@ -3916,8 +3786,10 @@ msgstr "" #~ msgid "Importing using DOMDocument." #~ msgstr "OPML のインポート中 (DOMDocument 機能拡張を用いて)..." -#~ msgid "DOMXML extension is not found. It is required for PHP versions below 5." -#~ msgstr "DOMXML 機能拡張が見つかりません。PHP バージョン 5 未満はそれを要求します。" +#~ msgid "" +#~ "DOMXML extension is not found. It is required for PHP versions below 5." +#~ msgstr "" +#~ "DOMXML 機能拡張が見つかりません。PHP バージョン 5 未満はそれを要求します。" #, fuzzy #~ msgid "Cache images locally (SimplePie only)" @@ -3983,8 +3855,12 @@ msgstr "" #~ msgid "Unknown error" #~ msgstr "未知のエラー" -#~ msgid "Could not display feed (query failed). Please check label match syntax or local configuration." -#~ msgstr "フィードを表示できません (問い合わせの失敗)。ラベル一致の文法かローカルの設定を確認してください。" +#~ msgid "" +#~ "Could not display feed (query failed). Please check label match syntax or " +#~ "local configuration." +#~ msgstr "" +#~ "フィードを表示できません (問い合わせの失敗)。ラベル一致の文法かローカルの" +#~ "設定を確認してください。" #~ msgid "Publish article with a note" #~ msgstr "ノートと記事を公開する" @@ -4023,8 +3899,10 @@ msgstr "" #~ msgid "Open article links in new browser window" #~ msgstr "新しいブラウザーのウィンドウで記事のリンクを開く" -#~ msgid "Link to user stylesheet to override default style, disabled if empty." -#~ msgstr "標準のスタイルを上書きするスタイルシートへのリンクで、空の場合は無効です。" +#~ msgid "" +#~ "Link to user stylesheet to override default style, disabled if empty." +#~ msgstr "" +#~ "標準のスタイルを上書きするスタイルシートへのリンクで、空の場合は無効です。" #~ msgid "Hide feedlist" #~ msgstr "フィード一覧を隠す" @@ -4203,16 +4081,25 @@ msgstr "" #~ msgstr "Tiny Tiny RSS をオフラインモードに切り替えますか?" #~ msgid "Tiny Tiny RSS will reload. Go online?" -#~ msgstr "Tiny Tiny RSS を再読み込みするでしょう。オンライン処理に移行しますか?" +#~ msgstr "" +#~ "Tiny Tiny RSS を再読み込みするでしょう。オンライン処理に移行しますか?" #~ msgid "Last sync: Cancelled." #~ msgstr "最終同期: 取り消されました。" -#~ msgid "This will remove all offline data stored by Tiny Tiny RSS on this computer. Continue?" -#~ msgstr "これはこのコンピューター上の Tiny Tiny RSS により保存されたすべてのオフラインデータを削除するでしょう。続けますか?" +#~ msgid "" +#~ "This will remove all offline data stored by Tiny Tiny RSS on this " +#~ "computer. Continue?" +#~ msgstr "" +#~ "これはこのコンピューター上の Tiny Tiny RSS により保存されたすべてのオフラ" +#~ "インデータを削除するでしょう。続けますか?" -#~ msgid "Tiny Tiny RSS has trouble accessing its server. Would you like to go offline?" -#~ msgstr "Tiny Tiny RSS はサーバーへのアクセス中に障害がありました。オフラインモードに移行しますか?" +#~ msgid "" +#~ "Tiny Tiny RSS has trouble accessing its server. Would you like to go " +#~ "offline?" +#~ msgstr "" +#~ "Tiny Tiny RSS はサーバーへのアクセス中に障害がありました。オフラインモード" +#~ "に移行しますか?" #~ msgid "Reset category order?" #~ msgstr "選択したカテゴリーの順序をリセットしますか?" @@ -4307,7 +4194,8 @@ msgstr "" #~ msgstr "Tiny Tiny RSS はオフラインモードです。" #, fuzzy -#~ msgid "You have to synchronize some articles before going into offline mode." +#~ msgid "" +#~ "You have to synchronize some articles before going into offline mode." #~ msgstr "Google Gears を用いたオフライン処理の新規記事を同期します。" #~ msgid "Can't open article: received invalid XML" @@ -4415,8 +4303,11 @@ msgstr "" #~ msgid "Address changed." #~ msgstr "アドレスを変更しました。" -#~ msgid "Rescore articles in all feeds? This operation may take a lot of time." -#~ msgstr "すべてのフィードの記事のスコアを再計算しますか? この操作は大量の時間を使うでしょう。" +#~ msgid "" +#~ "Rescore articles in all feeds? This operation may take a lot of time." +#~ msgstr "" +#~ "すべてのフィードの記事のスコアを再計算しますか? この操作は大量の時間を使う" +#~ "でしょう。" #~ msgid "Restart in offline mode" #~ msgstr "オフラインモードを再起動する" @@ -4460,8 +4351,11 @@ msgstr "" #~ msgid "Articles newer than X days" #~ msgstr "記事が X 日より新しい" -#~ msgid "This script is for Tiny Tiny RSS installations with MySQL backend only." -#~ msgstr "このスクリプトは Tiny Tiny RSS を MySQL バックエンドにのみインストールします。" +#~ msgid "" +#~ "This script is for Tiny Tiny RSS installations with MySQL backend only." +#~ msgstr "" +#~ "このスクリプトは Tiny Tiny RSS を MySQL バックエンドにのみインストールしま" +#~ "す。" #~ msgid "Converting database..." #~ msgstr "データベースを変換しています..." @@ -4482,8 +4376,11 @@ msgstr "" #~ "致命的なエラー: config.php-dist を\n" #~ "\t\tconfig.php にコピーし、編集することを忘れないでください。\n" -#~ msgid "config: your config file version is incorrect. See config.php-dist.\n" -#~ msgstr "設定: 設定ファイルのバージョンが不正確です。config.php-dist を参照してください。\n" +#~ msgid "" +#~ "config: your config file version is incorrect. See config.php-dist.\n" +#~ msgstr "" +#~ "設定: 設定ファイルのバージョンが不正確です。config.php-dist を参照してくだ" +#~ "さい。\n" #~ msgid "" #~ "Fatal error: RSS_BACKEND_TYPE is deprecated. Please remove this\n" @@ -4513,17 +4410,24 @@ msgstr "" #~ msgstr "設定: SESSION_EXPIRE_TIME が低すぎます (60 以下)" #, fuzzy -#~ msgid "config: SESSION_EXPIRE_TIME should be greater or equal toSESSION_COOKIE_LIFETIME" +#~ msgid "" +#~ "config: SESSION_EXPIRE_TIME should be greater or equal " +#~ "toSESSION_COOKIE_LIFETIME" #~ msgstr "設定: SESSION_EXPIRE_TIME は次の数字以上でなければなりません:" -#~ msgid "config: DATABASE_BACKED_SESSIONS is incompatible with SINGLE_USER_MODE" +#~ msgid "" +#~ "config: DATABASE_BACKED_SESSIONS is incompatible with SINGLE_USER_MODE" #~ msgstr "設定: DATABASE_BACKED_SESSIONS は SINGLE_USER_MODE と矛盾します" #~ msgid "config: DATABASE_BACKED_SESSIONS are currently broken with MySQL" #~ msgstr "設定: DATABASE_BACKED_SESSIONS は 現在 MySQL では壊れています" -#~ msgid "config: MAIL_FROM has been split into DIGEST_FROM_NAME and DIGEST_FROM_ADDRESS" -#~ msgstr "設定: MAIL_FROM は DIGEST_FROM_NAME と DIGEST_FROM_ADDRESS に分けられました" +#~ msgid "" +#~ "config: MAIL_FROM has been split into DIGEST_FROM_NAME and " +#~ "DIGEST_FROM_ADDRESS" +#~ msgstr "" +#~ "設定: MAIL_FROM は DIGEST_FROM_NAME と DIGEST_FROM_ADDRESS に分けられまし" +#~ "た" #~ msgid "  Subscribe to feed" #~ msgstr "  フィードを購読する" diff --git a/source/locale/lv_LV/LC_MESSAGES/messages.mo b/source/locale/lv_LV/LC_MESSAGES/messages.mo index e10fe84cd9b7e8ea9d75564bdcd55bff834dc24a..9dd8ee806cbaf2b450bb6926fbaf52906fd93379 100644 GIT binary patch literal 60935 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 aa`=D^!)9dA`p!_jAihQ&!vbDM;r|1Ee@l7* delta 12676 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 E1CV}JMF0Q* diff --git a/source/locale/lv_LV/LC_MESSAGES/messages.po b/source/locale/lv_LV/LC_MESSAGES/messages.po index f017513..c21ab36 100644 --- a/source/locale/lv_LV/LC_MESSAGES/messages.po +++ b/source/locale/lv_LV/LC_MESSAGES/messages.po @@ -1,20 +1,24 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# Tiny Tiny RSS resource file. +# Copyright (C) 2014 # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. +# FIRST AUTHOR valdis.vitolins@odo.lv, 2014. # msgid "" msgstr "" "Project-Id-Version: 1.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-09-06 15:10+0400\n" -"PO-Revision-Date: 2013-03-18 22:55+0300\n" +"PO-Revision-Date: 2014-11-01 23:36+0300\n" "Last-Translator: Valdis Vītoliņš \n" "Language-Team: \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" +"plural: EXPRESSION\n" +"nplurals: INTEGER\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: Latvian\n" #: backend.php:73 msgid "Use default" @@ -48,49 +52,39 @@ msgstr "3 mēnešus vecs" msgid "Default interval" msgstr "Noklusētais intervāls" -#: backend.php:83 -#: backend.php:93 +#: backend.php:83 backend.php:93 msgid "Disable updates" msgstr "Atslēgt atjaunojumus" -#: backend.php:84 -#: backend.php:94 +#: backend.php:84 backend.php:94 msgid "Each 15 minutes" msgstr "Katras 15 minūtes" -#: backend.php:85 -#: backend.php:95 +#: backend.php:85 backend.php:95 msgid "Each 30 minutes" msgstr "Katras 30 minūtes" -#: backend.php:86 -#: backend.php:96 +#: backend.php:86 backend.php:96 msgid "Hourly" msgstr "Ik stundu" -#: backend.php:87 -#: backend.php:97 +#: backend.php:87 backend.php:97 msgid "Each 4 hours" msgstr "Katras 4 stundas" -#: backend.php:88 -#: backend.php:98 +#: backend.php:88 backend.php:98 msgid "Each 12 hours" msgstr "Katras 12 stundas" -#: backend.php:89 -#: backend.php:99 +#: backend.php:89 backend.php:99 msgid "Daily" msgstr "Ik dienas" -#: backend.php:90 -#: backend.php:100 +#: backend.php:90 backend.php:100 msgid "Weekly" msgstr "Ik nedēļu" -#: backend.php:103 -#: classes/pref/users.php:119 -#: classes/pref/system.php:51 +#: backend.php:103 classes/pref/users.php:119 classes/pref/system.php:51 msgid "User" msgstr "Lietotājs" @@ -103,25 +97,36 @@ msgid "Administrator" msgstr "Administrators" #: errors.php:9 -msgid "This program requires XmlHttpRequest to function properly. Your browser doesn't seem to support it." -msgstr "Lai šī programma strādātu pareizi, ir nepieciešams XmlHttpRequest atbalsts. Šķiet, ka jūsu pārlūkprogramma to neatbalsta." +msgid "" +"This program requires XmlHttpRequest to function properly. Your browser " +"doesn't seem to support it." +msgstr "" +"Lai šī programma strādātu pareizi, ir nepieciešams XmlHttpRequest atbalsts. " +"Šķiet, ka jūsu pārlūkprogramma to neatbalsta." #: errors.php:12 -msgid "This program requires cookies to function properly. Your browser doesn't seem to support them." -msgstr "Lai šī programma strādātu pareizi, ir nepieciešams sīkfailu atbalsts. Šķiet, ka jūsu pārlūkprogramma tos neatbalsta." +msgid "" +"This program requires cookies to function properly. Your browser doesn't " +"seem to support them." +msgstr "" +"Lai šī programma strādātu pareizi, ir nepieciešams sīkfailu atbalsts. Šķiet, " +"ka jūsu pārlūkprogramma tos neatbalsta." #: errors.php:15 -#, fuzzy msgid "Backend sanity check failed." -msgstr "Neizdevās aizmugures pareizības pārbaude" +msgstr "Neizdevās aizmugures pareizības pārbaude." #: errors.php:17 msgid "Frontend sanity check failed." msgstr "Neizdevās priekšpuses pareizības pārbaude." #: errors.php:19 -msgid "Incorrect database schema version. <a href='db-updater.php'>Please update</a>." -msgstr "Nepareiza datu bāzes shēmas versija. <a href='db-updater.php'>Lūdzu atjaunojiet</a>." +msgid "" +"Incorrect database schema version. <a href='db-updater.php'>Please " +"update</a>." +msgstr "" +"Nepareiza datu bāzes shēmas versija. <a href='db-updater.php'>Lūdzu " +"atjaunojiet</a>." #: errors.php:21 msgid "Request not authorized." @@ -132,8 +137,12 @@ msgid "No operation to perform." msgstr "Nav veicamās darbības." #: errors.php:25 -msgid "Could not display feed: query failed. Please check label match syntax or local configuration." -msgstr "Pieprasījums neizdevās un neizdevās parādīt barotni. Lūdzu pārbaudiet iezīmes sintaksi vai arī lokālos iestatījumus." +msgid "" +"Could not display feed: query failed. Please check label match syntax or " +"local configuration." +msgstr "" +"Pieprasījums neizdevās un neizdevās parādīt barotni. Lūdzu pārbaudiet " +"iezīmes sintaksi vai arī lokālos iestatījumus." #: errors.php:27 msgid "Denied. Your access level is insufficient to access this page." @@ -144,38 +153,25 @@ msgid "Configuration check failed" msgstr "Neizdevās iestatījumu pārbaude." #: errors.php:31 -#, fuzzy -msgid "Your version of MySQL is not currently supported. Please see official site for more information." +msgid "" +"Your version of MySQL is not currently supported. Please see official site " +"for more information." msgstr "" -"Jūsu izmantotā MySQL versija netiek atbalstīta. Lūdzu skatiet\n" -"\t\tpapildu informāciju oficiālajā vietnē." +"Jūsu izmantotā MySQL versija netiek atbalstīta. Lūdzu skatiet papildu " +"informāciju oficiālajā vietnē." #: errors.php:35 msgid "SQL escaping test failed, check your database and PHP configuration" -msgstr "Neizdevās SQL izņēmumu tests, pārbaudiet jūsu datu bāzes un PHP iestatījumus" +msgstr "" +"Neizdevās SQL izņēmumu tests, pārbaudiet jūsu datu bāzes un PHP iestatījumus" -#: index.php:133 -#: index.php:150 -#: index.php:273 -#: prefs.php:102 -#: classes/backend.php:5 -#: classes/pref/labels.php:296 -#: classes/pref/filters.php:704 -#: classes/pref/feeds.php:1367 -#: js/feedlist.js:126 -#: js/functions.js:1218 -#: js/functions.js:1352 -#: js/functions.js:1664 -#: js/prefs.js:653 -#: js/prefs.js:854 -#: js/prefs.js:1760 -#: js/prefs.js:1776 -#: js/prefs.js:1794 -#: js/tt-rss.js:55 -#: js/tt-rss.js:515 -#: js/viewfeed.js:741 -#: js/viewfeed.js:1316 -#: plugins/import_export/import_export.js:17 +#: index.php:133 index.php:150 index.php:273 prefs.php:102 +#: classes/backend.php:5 classes/pref/labels.php:296 +#: classes/pref/filters.php:704 classes/pref/feeds.php:1367 js/feedlist.js:126 +#: js/functions.js:1218 js/functions.js:1352 js/functions.js:1664 +#: js/prefs.js:653 js/prefs.js:854 js/prefs.js:1760 js/prefs.js:1776 +#: js/prefs.js:1794 js/tt-rss.js:55 js/tt-rss.js:515 js/viewfeed.js:741 +#: js/viewfeed.js:1316 plugins/import_export/import_export.js:17 #: plugins/updater/updater.js:17 msgid "Loading, please wait..." msgstr "Ielādē, lūdzu gaidiet..." @@ -196,32 +192,25 @@ msgstr "Adaptīvs" msgid "All Articles" msgstr "Visus rakstus" -#: index.php:176 -#: include/functions2.php:99 -#: classes/feeds.php:102 +#: index.php:176 include/functions2.php:99 classes/feeds.php:102 msgid "Starred" msgstr "Zvaigžņotos" -#: index.php:177 -#: include/functions2.php:100 -#: classes/feeds.php:103 +#: index.php:177 include/functions2.php:100 classes/feeds.php:103 msgid "Published" msgstr "Publicētos" -#: index.php:178 -#: classes/feeds.php:89 -#: classes/feeds.php:101 +#: index.php:178 classes/feeds.php:89 classes/feeds.php:101 msgid "Unread" msgstr "Nelasītos" #: index.php:179 -#, fuzzy msgid "Unread First" -msgstr "Nelasītos" +msgstr "Nelasītos vispirms" #: index.php:180 msgid "With Note" -msgstr "" +msgstr "Ar piezīmi" #: index.php:181 msgid "Ignore Scoring" @@ -237,40 +226,36 @@ msgstr "Noklusētais" #: index.php:188 msgid "Newest first" -msgstr "" +msgstr "Jaunāko vispirms" #: index.php:189 msgid "Oldest first" -msgstr "" +msgstr "Vecāko vispirms" #: index.php:190 msgid "Title" msgstr "Virsraksts" -#: index.php:194 -#: index.php:242 -#: include/functions2.php:89 -#: classes/feeds.php:107 -#: js/FeedTree.js:132 -#: js/FeedTree.js:160 +#: index.php:194 index.php:242 include/functions2.php:89 classes/feeds.php:107 +#: js/FeedTree.js:132 js/FeedTree.js:160 msgid "Mark as read" msgstr "Atzīmēt kā lasītu" #: index.php:197 msgid "Older than one day" -msgstr "" +msgstr "Par dienu vecākus" #: index.php:200 msgid "Older than one week" -msgstr "" +msgstr "Par nedēļu vecākus" #: index.php:203 msgid "Older than two weeks" -msgstr "" +msgstr "Par divām nedēļām vecākus" #: index.php:219 msgid "Communication problem with server." -msgstr "" +msgstr "Saziņas kļūda ar serveri." #: index.php:227 msgid "New version of Tiny Tiny RSS is available!" @@ -278,40 +263,36 @@ msgstr "Ir pieejama jauna Tiny Tiny RSS versija!" #: index.php:232 msgid "Actions..." -msgstr "Darbības" +msgstr "Darbības..." #: index.php:234 -#, fuzzy msgid "Preferences..." -msgstr "Iestatījumi" +msgstr "Iestatījumi..." #: index.php:235 msgid "Search..." -msgstr "Meklēt" +msgstr "Meklēt..." #: index.php:236 msgid "Feed actions:" msgstr "Barotnes darbības" -#: index.php:237 -#: classes/handler/public.php:629 +#: index.php:237 classes/handler/public.php:629 msgid "Subscribe to feed..." msgstr "Abonēt barotni..." #: index.php:238 msgid "Edit this feed..." -msgstr "Rediģēt šo barotni..." +msgstr "Mainīt šo barotni..." #: index.php:239 msgid "Rescore feed" msgstr "Pārvērtēt barotni" -#: index.php:240 -#: classes/pref/feeds.php:757 -#: classes/pref/feeds.php:1322 +#: index.php:240 classes/pref/feeds.php:757 classes/pref/feeds.php:1322 #: js/PrefFeedTree.js:74 msgid "Unsubscribe" -msgstr "Atteikties" +msgstr "Dzēst" #: index.php:241 msgid "All feeds:" @@ -325,11 +306,9 @@ msgstr "(Ne)rādīt lasītās barotnes" msgid "Other actions:" msgstr "Citas darbības:" -#: index.php:245 -#: include/functions2.php:75 -#, fuzzy +#: index.php:245 include/functions2.php:75 msgid "Toggle widescreen mode" -msgstr "Pārslēgt zvaigžņošanu" +msgstr "Pārslēgt platekrāna režīmu" #: index.php:246 msgid "Select by tags..." @@ -337,7 +316,7 @@ msgstr "Atlasīt pēc iezīmēm..." #: index.php:247 msgid "Create label..." -msgstr "Izveidot iezīmi" +msgstr "Izveido iezīmi..." #: index.php:248 msgid "Create filter..." @@ -351,9 +330,7 @@ msgstr "Isinājumtaustiņu palīdzība" msgid "Logout" msgstr "Atteikties" -#: prefs.php:33 -#: prefs.php:120 -#: include/functions2.php:102 +#: prefs.php:33 prefs.php:120 include/functions2.php:102 #: classes/pref/prefs.php:441 msgid "Preferences" msgstr "Iestatījumi" @@ -366,21 +343,16 @@ msgstr "Īsinājumtaustiņi" msgid "Exit preferences" msgstr "Iziet no iestatījumiem" -#: prefs.php:123 -#: classes/pref/feeds.php:110 -#: classes/pref/feeds.php:1243 +#: prefs.php:123 classes/pref/feeds.php:110 classes/pref/feeds.php:1243 #: classes/pref/feeds.php:1311 msgid "Feeds" msgstr "Barotnes" -#: prefs.php:126 -#: classes/pref/filters.php:188 +#: prefs.php:126 classes/pref/filters.php:188 msgid "Filters" msgstr "Filtri" -#: prefs.php:129 -#: include/functions.php:1264 -#: include/functions.php:1916 +#: prefs.php:129 include/functions.php:1264 include/functions.php:1916 #: classes/pref/labels.php:90 msgid "Labels" msgstr "Iezīmes" @@ -391,10 +363,9 @@ msgstr "Lietotāji" #: prefs.php:136 msgid "System" -msgstr "" +msgstr "Sistēma" -#: register.php:187 -#: include/login_form.php:245 +#: register.php:187 include/login_form.php:245 msgid "Create new account" msgstr "Izveidot jaunu kontu" @@ -402,27 +373,24 @@ msgstr "Izveidot jaunu kontu" msgid "New user registrations are administratively disabled." msgstr "Jaunu lietotāju reģistrēšana ir administratīvi atcelta." -#: register.php:197 -#: register.php:242 -#: register.php:255 -#: register.php:270 -#: register.php:289 -#: register.php:337 -#: register.php:347 -#: register.php:359 -#: classes/handler/public.php:699 -#: classes/handler/public.php:770 -#: classes/handler/public.php:868 -#: classes/handler/public.php:947 -#: classes/handler/public.php:961 -#: classes/handler/public.php:968 +#: register.php:197 register.php:242 register.php:255 register.php:270 +#: register.php:289 register.php:337 register.php:347 register.php:359 +#: classes/handler/public.php:699 classes/handler/public.php:770 +#: classes/handler/public.php:868 classes/handler/public.php:947 +#: classes/handler/public.php:961 classes/handler/public.php:968 #: classes/handler/public.php:993 msgid "Return to Tiny Tiny RSS" msgstr "Atgriezties uz Tiny Tiny RSS" #: register.php:218 -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 "Jūsu īslaicīgā parole tiks nosūtīta uz norādīto e-pastu. Konti, kuros ne neviens nav pieteicies, tiek automātiski izdzēsti 24 stundu laikā pēc īslaicīgās paroles nosūtīšanas." +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 "" +"Jūsu īslaicīgā parole tiks nosūtīta uz norādīto e-pastu. Konti, kuros ne " +"neviens nav pieteicies, tiek automātiski izdzēsti 24 stundu laikā pēc " +"īslaicīgās paroles nosūtīšanas." #: register.php:224 msgid "Desired login:" @@ -432,13 +400,11 @@ msgstr "Vēlamais pieteikšanās vārds:" msgid "Check availability" msgstr "Pārbaudīt pieejamību" -#: register.php:229 -#: classes/handler/public.php:786 +#: register.php:229 classes/handler/public.php:786 msgid "Email:" msgstr "E-pasts:" -#: register.php:232 -#: classes/handler/public.php:791 +#: register.php:232 classes/handler/public.php:791 msgid "How much is two plus two:" msgstr "Cik ir divi un divi:" @@ -470,21 +436,17 @@ msgstr "Jaunu lietotāju reģistrācija šobrīd ir slēgta." msgid "Tiny Tiny RSS data update script." msgstr "Tiny Tiny RSS datu atjaunošanas skripts." -#: include/digest.php:109 -#: include/functions.php:1273 -#: include/functions.php:1817 -#: include/functions.php:1902 -#: include/functions.php:1924 -#: classes/opml.php:421 -#: classes/pref/feeds.php:226 +#: include/digest.php:109 include/functions.php:1273 +#: include/functions.php:1817 include/functions.php:1902 +#: include/functions.php:1924 classes/opml.php:421 classes/pref/feeds.php:226 msgid "Uncategorized" msgstr "Nekategorizēts" #: include/feedbrowser.php:82 -#, fuzzy, php-format +#, php-format msgid "%d archived article" msgid_plural "%d archived articles" -msgstr[0] "%d arhivēti raksti" +msgstr[0] "%d arhivēts raksts" msgstr[1] "%d arhivēti raksti" #: include/feedbrowser.php:106 @@ -496,332 +458,270 @@ msgid "Navigation" msgstr "Navigācija" #: include/functions2.php:50 -#, fuzzy msgid "Open next feed" -msgstr "Pēc noķeršanas rādīt nākamo barotni" +msgstr "Atvērt nākamo barotni" #: include/functions2.php:51 msgid "Open previous feed" -msgstr "" +msgstr "Atvērt iepriekšējo barotni" #: include/functions2.php:52 -#, fuzzy msgid "Open next article" -msgstr "Atvērt sākotnējo rakstu" +msgstr "Atvērt nākamo rakstu" #: include/functions2.php:53 -#, fuzzy msgid "Open previous article" -msgstr "Atvērt sākotnējo rakstu" +msgstr "Atvērt iepriekšējo rakstu" #: include/functions2.php:54 msgid "Open next article (don't scroll long articles)" -msgstr "" +msgstr "Atvērt nākamo rakstu (nepārtīt garus rakstus)" #: include/functions2.php:55 msgid "Open previous article (don't scroll long articles)" -msgstr "" +msgstr "Atvērt iepriekšējo rakstu (nepārtīt garus rakstus)" #: include/functions2.php:56 msgid "Move to next article (don't expand or mark read)" -msgstr "" +msgstr "Pāriet uz nākamo rakstu (neizvērst un neatzīmēt kā lasītu)" #: include/functions2.php:57 msgid "Move to previous article (don't expand or mark read)" -msgstr "" +msgstr "Pāriet uz iepriekšējo rakstu (neizvērst un neatzīmēt kā lasītu)" #: include/functions2.php:58 msgid "Show search dialog" msgstr "Rādīt meklēšanas logu" #: include/functions2.php:59 -#, fuzzy msgid "Article" -msgstr "Visus rakstus" +msgstr "Raksts" -#: include/functions2.php:60 -#: js/viewfeed.js:2009 +#: include/functions2.php:60 js/viewfeed.js:2009 msgid "Toggle starred" msgstr "Pārslēgt zvaigžņošanu" -#: include/functions2.php:61 -#: js/viewfeed.js:2020 +#: include/functions2.php:61 js/viewfeed.js:2020 msgid "Toggle published" msgstr "Pārslēgt publicēšanu" -#: include/functions2.php:62 -#: js/viewfeed.js:1998 +#: include/functions2.php:62 js/viewfeed.js:1998 msgid "Toggle unread" msgstr "Pārslēgt nelasītu" #: include/functions2.php:63 msgid "Edit tags" -msgstr "Rediģēt iezīmes" +msgstr "Mainīt iezīmes" #: include/functions2.php:64 -#, fuzzy msgid "Dismiss selected" -msgstr "Atmest atlasītos rakstus" +msgstr "Atmest atlasītos" #: include/functions2.php:65 -#, fuzzy msgid "Dismiss read" -msgstr "Atmest lasītos rakstus" +msgstr "Atmest lasītos" #: include/functions2.php:66 -#, fuzzy msgid "Open in new window" -msgstr "Atvērt rakstu jaunā logā" +msgstr "Atvērt jaunā logā" #: include/functions2.php:67 msgid "Mark below as read" msgstr "Iezīmēt lejup kā lasītus" -#: include/functions2.php:68 -#: js/viewfeed.js:2033 +#: include/functions2.php:68 js/viewfeed.js:2033 msgid "Mark above as read" msgstr "Iezīmēt augšup kā lasītus" #: include/functions2.php:69 -#, fuzzy msgid "Scroll down" -msgstr "Viss izdarīts." +msgstr "Pārtīt lejup" #: include/functions2.php:70 msgid "Scroll up" -msgstr "" +msgstr "Pārtīt uz augšu" #: include/functions2.php:71 -#, fuzzy msgid "Select article under cursor" -msgstr "Iezīmēt rakstu zem peles kursora" +msgstr "Izvēlēties rakstu zem kursora" #: include/functions2.php:72 msgid "Email article" msgstr "Nosūtīt rakstu uz e-pastu" #: include/functions2.php:73 -#, fuzzy msgid "Close/collapse article" -msgstr "Aizvērt rakstu" +msgstr "Aizvērt/sakļaut rakstu" #: include/functions2.php:74 -#, fuzzy msgid "Toggle article expansion (combined mode)" -msgstr "Pārslēgt publicēšanu" +msgstr "Pārslēgt raksta izvēršanu (kombinētais režīms)" -#: include/functions2.php:76 -#: plugins/embed_original/init.php:31 -#, fuzzy +#: include/functions2.php:76 plugins/embed_original/init.php:31 msgid "Toggle embed original" -msgstr "Pārslēgt publicēšanu" +msgstr "Pārslēgt oriģināla iegulšanu" #: include/functions2.php:77 -#, fuzzy msgid "Article selection" -msgstr "Apgriezt rakstu iezīmēšanu" +msgstr "Raksta atzīmēšana" #: include/functions2.php:78 msgid "Select all articles" msgstr "Iezīmēt visus rakstus" #: include/functions2.php:79 -#, fuzzy msgid "Select unread" -msgstr "Iezīmēt nelasītos rakstus" +msgstr "Atzīmēt nelasītos" #: include/functions2.php:80 -#, fuzzy msgid "Select starred" -msgstr "Uzlikt zvaigzni" +msgstr "Atzīmēt zvaigžņotos" #: include/functions2.php:81 -#, fuzzy msgid "Select published" -msgstr "Iezīmēt publicētos rakstus" +msgstr "Atzīmēt publicētos" #: include/functions2.php:82 -#, fuzzy msgid "Invert selection" -msgstr "Apgriezt rakstu iezīmēšanu" +msgstr "Apvērst izvēli" #: include/functions2.php:83 -#, fuzzy msgid "Deselect everything" -msgstr "Neatzīmēt rakstus" +msgstr "Neatzīmēt visu" -#: include/functions2.php:84 -#: classes/pref/feeds.php:550 +#: include/functions2.php:84 classes/pref/feeds.php:550 #: classes/pref/feeds.php:794 msgid "Feed" msgstr "Barotne" #: include/functions2.php:85 -#, fuzzy msgid "Refresh current feed" -msgstr "Atjaunot aktīvo barotni" +msgstr "Atjaunot tekošo barotni" #: include/functions2.php:86 -#, fuzzy msgid "Un/hide read feeds" msgstr "(Ne)rādīt lasītās barotnes" -#: include/functions2.php:87 -#: classes/pref/feeds.php:1314 +#: include/functions2.php:87 classes/pref/feeds.php:1314 msgid "Subscribe to feed" msgstr "Abonēt barotni" -#: include/functions2.php:88 -#: js/FeedTree.js:139 -#: js/PrefFeedTree.js:68 +#: include/functions2.php:88 js/FeedTree.js:139 js/PrefFeedTree.js:68 msgid "Edit feed" -msgstr "Rediģēt barotni" +msgstr "Mainīt barotni" #: include/functions2.php:90 -#, fuzzy msgid "Reverse headlines" -msgstr "Apgriezt virsrakstu secību" +msgstr "Apvērst virsrakstus" #: include/functions2.php:91 -#, fuzzy msgid "Debug feed update" -msgstr "Atslēgt atjaunojumus" +msgstr "Atkļūdot barotņu atjaunojumus" -#: include/functions2.php:92 -#: js/FeedTree.js:182 +#: include/functions2.php:92 js/FeedTree.js:182 msgid "Mark all feeds as read" msgstr "Atzīmēt visas barotnes kā lasītas" #: include/functions2.php:93 -#, fuzzy msgid "Un/collapse current category" -msgstr "Ievietot kategorijā:" +msgstr "Izvērst/sakļaut tekošo kategoriju" #: include/functions2.php:94 -#, fuzzy msgid "Toggle combined mode" -msgstr "Pārslēgt publicēšanu" +msgstr "Pārslēgt kombinēto režīmu" #: include/functions2.php:95 -#, fuzzy msgid "Toggle auto expand in combined mode" -msgstr "Pārslēgt publicēšanu" +msgstr "Pārslēgt autoizvēršanu kombinētajā režīmā" #: include/functions2.php:96 -#, fuzzy msgid "Go to" -msgstr "Doties uz..." +msgstr "Doties uz" -#: include/functions2.php:97 -#: include/functions.php:1975 +#: include/functions2.php:97 include/functions.php:1975 msgid "All articles" msgstr "Visi raksti" #: include/functions2.php:98 msgid "Fresh" -msgstr "" +msgstr "Svaigs" -#: include/functions2.php:101 -#: js/tt-rss.js:461 +#: include/functions2.php:101 js/tt-rss.js:461 msgid "Tag cloud" msgstr "Iezīmju mākonis" #: include/functions2.php:103 -#, fuzzy msgid "Other" -msgstr "Citas barotnes" +msgstr "Citi" -#: include/functions2.php:104 -#: classes/pref/labels.php:281 +#: include/functions2.php:104 classes/pref/labels.php:281 msgid "Create label" msgstr "Izveidot etiķeti" -#: include/functions2.php:105 -#: classes/pref/filters.php:678 +#: include/functions2.php:105 classes/pref/filters.php:678 msgid "Create filter" msgstr "Izveidot filtru" #: include/functions2.php:106 -#, fuzzy msgid "Un/collapse sidebar" -msgstr "Sakļaut sānjoslu" +msgstr "Izvērst/sakļaut sānjoslu" #: include/functions2.php:107 -#, fuzzy msgid "Show help dialog" -msgstr "Rādīt meklēšanas logu" +msgstr "Rādīt palīdzības logu" #: include/functions2.php:651 #, php-format msgid "Search results: %s" msgstr "Meklēšanas rezultāti: %s" -#: include/functions2.php:1263 -#: classes/feeds.php:714 -#, fuzzy +#: include/functions2.php:1263 classes/feeds.php:714 msgid "comment" msgid_plural "comments" -msgstr[0] "Komentāri?" -msgstr[1] "Komentāri?" +msgstr[0] "komentārs" +msgstr[1] "komentāri" -#: include/functions2.php:1267 -#: classes/feeds.php:718 -#, fuzzy +#: include/functions2.php:1267 classes/feeds.php:718 msgid "comments" -msgstr "Komentāri?" +msgstr "komentāri" #: include/functions2.php:1308 msgid " - " msgstr "–" -#: include/functions2.php:1341 -#: include/functions2.php:1589 +#: include/functions2.php:1341 include/functions2.php:1589 #: classes/article.php:280 msgid "no tags" msgstr "nav iezīmju" -#: include/functions2.php:1351 -#: classes/feeds.php:700 +#: include/functions2.php:1351 classes/feeds.php:700 msgid "Edit tags for this article" -msgstr "Rediģēt šī raksta iezīmes" +msgstr "Mainīt šī raksta iezīmes" -#: include/functions2.php:1383 -#: classes/feeds.php:652 +#: include/functions2.php:1383 classes/feeds.php:652 msgid "Originally from:" msgstr "Sākotnējais no:" -#: include/functions2.php:1396 -#: classes/feeds.php:665 +#: include/functions2.php:1396 classes/feeds.php:665 #: classes/pref/feeds.php:569 msgid "Feed URL" msgstr "Barotnes URL" -#: include/functions2.php:1430 -#: classes/dlg.php:36 -#: classes/dlg.php:59 -#: classes/dlg.php:92 -#: classes/dlg.php:158 -#: classes/dlg.php:189 -#: classes/dlg.php:216 -#: classes/dlg.php:249 -#: classes/dlg.php:261 -#: classes/backend.php:105 -#: classes/pref/users.php:95 -#: classes/pref/filters.php:145 -#: classes/pref/prefs.php:1102 -#: classes/pref/feeds.php:1611 -#: classes/pref/feeds.php:1677 -#: plugins/import_export/init.php:407 -#: plugins/import_export/init.php:452 -#: plugins/googlereaderimport/init.php:194 -#: plugins/share/init.php:123 +#: include/functions2.php:1430 classes/dlg.php:36 classes/dlg.php:59 +#: classes/dlg.php:92 classes/dlg.php:158 classes/dlg.php:189 +#: classes/dlg.php:216 classes/dlg.php:249 classes/dlg.php:261 +#: classes/backend.php:105 classes/pref/users.php:95 +#: classes/pref/filters.php:145 classes/pref/prefs.php:1102 +#: classes/pref/feeds.php:1611 classes/pref/feeds.php:1677 +#: plugins/import_export/init.php:407 plugins/import_export/init.php:452 +#: plugins/googlereaderimport/init.php:194 plugins/share/init.php:123 #: plugins/updater/init.php:375 msgid "Close this window" msgstr "Aizvērt šo logu" #: include/functions2.php:1626 msgid "(edit note)" -msgstr "(rediģēt piezīmi)" +msgstr "(mainīt piezīmi)" #: include/functions2.php:1874 msgid "unknown type" @@ -831,15 +731,12 @@ msgstr "nezināms tips" msgid "Attachments" msgstr "Pielikumi" -#: include/functions.php:1262 -#: include/functions.php:1914 +#: include/functions.php:1262 include/functions.php:1914 msgid "Special" msgstr "Īpaši" -#: include/functions.php:1765 -#: classes/feeds.php:1124 -#: classes/pref/filters.php:169 -#: classes/pref/filters.php:447 +#: include/functions.php:1765 classes/feeds.php:1124 +#: classes/pref/filters.php:169 classes/pref/filters.php:447 msgid "All feeds" msgstr "Visas barotnes" @@ -863,30 +760,25 @@ msgstr "Arhivētie raksti" msgid "Recently read" msgstr "Nesen lasītie raksti" -#: include/login_form.php:190 -#: classes/handler/public.php:526 +#: include/login_form.php:190 classes/handler/public.php:526 #: classes/handler/public.php:781 msgid "Login:" msgstr "Pieteikties:" -#: include/login_form.php:200 -#: classes/handler/public.php:529 +#: include/login_form.php:200 classes/handler/public.php:529 msgid "Password:" msgstr "Parole:" #: include/login_form.php:206 -#, fuzzy msgid "I forgot my password" -msgstr "Nepareiza parole" +msgstr "Esmu aizmirsis paroli" #: include/login_form.php:212 msgid "Profile:" msgstr "Profils:" -#: include/login_form.php:216 -#: classes/handler/public.php:267 -#: classes/rpc.php:63 -#: classes/pref/prefs.php:1040 +#: include/login_form.php:216 classes/handler/public.php:267 +#: classes/rpc.php:63 classes/pref/prefs.php:1040 msgid "Default profile" msgstr "Noklusētais profils" @@ -896,14 +788,13 @@ msgstr "Saspiest datu plūsmu" #: include/login_form.php:228 msgid "Does not display images in articles, reduces automatic refreshes." -msgstr "" +msgstr "Nerāda rakstu attēlus, samazina automātisko atjaunojumu izmēru." #: include/login_form.php:236 msgid "Remember me" -msgstr "" +msgstr "Atcerēties mani" -#: include/login_form.php:242 -#: classes/handler/public.php:534 +#: include/login_form.php:242 classes/handler/public.php:534 msgid "Log in" msgstr "Pieteikties" @@ -912,24 +803,20 @@ msgid "Session failed to validate (incorrect IP)" msgstr "Neizdevās validēt sesiju (mainījusies IP adrese)" #: include/sessions.php:67 -#, fuzzy msgid "Session failed to validate (schema version changed)" -msgstr "Neizdevās validēt sesiju (mainījusies IP adrese)" +msgstr "Neizdevās validēt sesiju (mainījusies shēmas versija)" #: include/sessions.php:73 -#, fuzzy msgid "Session failed to validate (user agent changed)" -msgstr "Neizdevās validēt sesiju (mainījusies IP adrese)" +msgstr "Neizdevās validēt sesiju (mainījies lietotāja aģents)" #: include/sessions.php:85 -#, fuzzy msgid "Session failed to validate (user not found)" -msgstr "Neizdevās validēt sesiju (mainījusies IP adrese)" +msgstr "Neizdevās validēt sesiju (lietotājs nav atrasts)" #: include/sessions.php:94 -#, fuzzy msgid "Session failed to validate (password changed)" -msgstr "Neizdevās validēt sesiju (mainījusies IP adrese)" +msgstr "Neizdevās validēt sesiju (mainījusies parole)" #: classes/article.php:25 msgid "Article not found." @@ -939,45 +826,29 @@ msgstr "Raksts netika atrasts." msgid "Tags for this article (separated by commas):" msgstr "Šī raksta iezīmes (atdalītas ar komatiem):" -#: classes/article.php:203 -#: classes/pref/users.php:168 -#: classes/pref/labels.php:79 -#: classes/pref/filters.php:425 -#: classes/pref/prefs.php:986 -#: classes/pref/feeds.php:773 -#: classes/pref/feeds.php:900 -#: plugins/nsfw/init.php:85 -#: plugins/mail/init.php:64 -#: plugins/note/init.php:51 +#: classes/article.php:203 classes/pref/users.php:168 +#: classes/pref/labels.php:79 classes/pref/filters.php:425 +#: classes/pref/prefs.php:986 classes/pref/feeds.php:773 +#: classes/pref/feeds.php:900 plugins/nsfw/init.php:85 +#: plugins/mail/init.php:64 plugins/note/init.php:51 #: plugins/instances/init.php:245 msgid "Save" msgstr "Saglabāt" -#: classes/article.php:205 -#: classes/handler/public.php:503 -#: classes/handler/public.php:537 -#: classes/feeds.php:1053 -#: classes/feeds.php:1103 -#: classes/feeds.php:1163 -#: classes/pref/users.php:170 -#: classes/pref/labels.php:81 -#: classes/pref/filters.php:428 -#: classes/pref/filters.php:827 -#: classes/pref/filters.php:908 -#: classes/pref/filters.php:975 -#: classes/pref/prefs.php:988 -#: classes/pref/feeds.php:774 -#: classes/pref/feeds.php:903 -#: classes/pref/feeds.php:1817 -#: plugins/mail/init.php:172 -#: plugins/note/init.php:53 -#: plugins/instances/init.php:248 +#: classes/article.php:205 classes/handler/public.php:503 +#: classes/handler/public.php:537 classes/feeds.php:1053 +#: classes/feeds.php:1103 classes/feeds.php:1163 classes/pref/users.php:170 +#: classes/pref/labels.php:81 classes/pref/filters.php:428 +#: classes/pref/filters.php:827 classes/pref/filters.php:908 +#: classes/pref/filters.php:975 classes/pref/prefs.php:988 +#: classes/pref/feeds.php:774 classes/pref/feeds.php:903 +#: classes/pref/feeds.php:1817 plugins/mail/init.php:172 +#: plugins/note/init.php:53 plugins/instances/init.php:248 #: plugins/instances/init.php:436 msgid "Cancel" msgstr "Atcelt" -#: classes/handler/public.php:467 -#: plugins/bookmarklets/init.php:40 +#: classes/handler/public.php:467 plugins/bookmarklets/init.php:40 msgid "Share with Tiny Tiny RSS" msgstr "Kopīgot ar Tiny Tiny RSS" @@ -985,10 +856,8 @@ msgstr "Kopīgot ar Tiny Tiny RSS" msgid "Title:" msgstr "Virsraksts:" -#: classes/handler/public.php:477 -#: classes/pref/feeds.php:567 -#: plugins/instances/init.php:212 -#: plugins/instances/init.php:401 +#: classes/handler/public.php:477 classes/pref/feeds.php:567 +#: plugins/instances/init.php:212 plugins/instances/init.php:401 msgid "URL:" msgstr "URL:" @@ -1051,40 +920,41 @@ msgstr "Pasūtīt norādīto barotni" #: classes/handler/public.php:694 msgid "Edit subscription options" -msgstr "Rediģēt barotnes iestatījumus" +msgstr "Mainīt barotnes iestatījumus" #: classes/handler/public.php:731 -#, fuzzy msgid "Password recovery" -msgstr "Parole" +msgstr "Parole atjaunošana" #: classes/handler/public.php:774 -msgid "You will need to provide valid account name and email. A password reset link will be sent to your email address." +msgid "" +"You will need to provide valid account name and email. A password reset link " +"will be sent to your email address." msgstr "" +"Jums būs nepieciešams norādīt darbojošos e-pasta kontu. Uz jūsu norādīto " +"adresi tiks nosūtīta paroles pārstatīšanas saite." -#: classes/handler/public.php:796 -#: classes/pref/users.php:352 +#: classes/handler/public.php:796 classes/pref/users.php:352 msgid "Reset password" msgstr "Atstatīt paroli" #: classes/handler/public.php:806 msgid "Some of the required form parameters are missing or incorrect." msgstr "" +"Trūkst daži no obligātajiem parametriem, vai tie ir norādīti nepareizi." -#: classes/handler/public.php:810 -#: classes/handler/public.php:876 -#, fuzzy +#: classes/handler/public.php:810 classes/handler/public.php:876 msgid "Go back" -msgstr "Pārvietot atpakaļ" +msgstr "Doties atpakaļ" #: classes/handler/public.php:847 -#, fuzzy msgid "[tt-rss] Password reset request" -msgstr "[tt-rss] paroles maiņas paziņojums" +msgstr "[tt-rss] paroles pārstatīšanas pieprasījums" #: classes/handler/public.php:872 msgid "Sorry, login and email combination not found." msgstr "" +"Piedodiet, norādītā e-pasta un pieteikšanās kombinācija netika atrasta." #: classes/handler/public.php:894 msgid "Your access level is insufficient to run this script." @@ -1099,31 +969,44 @@ msgid "Perform updates" msgstr "Izpildīt atjaunojumus" #: 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 "Ja esat importējis etiķetus vai filtrus, iespējams, ka jums nepieciešams pārlādēt iestatījumus, lai redzētu jaunos datus." +msgid "" +"If you have imported labels and/or filters, you might need to reload " +"preferences to see your new data." +msgstr "" +"Ja esat importējis etiķetus vai filtrus, iespējams, ka jums nepieciešams " +"pārlādēt iestatījumus, lai redzētu jaunos datus." #: classes/dlg.php:47 msgid "Your Public OPML URL is:" msgstr "Jūsu publiskais OPML URL ir:" -#: classes/dlg.php:56 -#: classes/dlg.php:213 -#: plugins/share/init.php:120 +#: classes/dlg.php:56 classes/dlg.php:213 plugins/share/init.php:120 msgid "Generate new URL" msgstr "Izveidot jaunu URL" #: classes/dlg.php:70 -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 "Atjaunošanas process iestatījumos ir iespējots, bet tas nedarbojas, tāpēc barotnes neatjaunojas. Lūdzu palaidiet atjaunošanas procesu vai arī sazinieties ar servera īpašnieku." +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 "" +"Atjaunošanas process iestatījumos ir ieslēgts, bet tas nedarbojas, tāpēc " +"barotnes neatjaunojas. Lūdzu palaidiet atjaunošanas procesu vai arī " +"sazinieties ar servera īpašnieku." -#: classes/dlg.php:74 -#: classes/dlg.php:83 +#: classes/dlg.php:74 classes/dlg.php:83 msgid "Last update:" msgstr "Pēdējais atjaunojums:" #: classes/dlg.php:79 -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 "Atjaunošanas process aizņem pārāk ilgu laiku. Iespējams, ka tas ir tāpēc, ka process ir \"uzkāries\". Lūdzu pārbaudiet atjaunošanas procesu vai arī sazinieties ar servera īpašnieku." +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 "" +"Atjaunošanas process aizņem pārāk ilgu laiku. Iespējams, ka tas ir tāpēc, ka " +"process ir \"uzkāries\". Lūdzu pārbaudiet atjaunošanas procesu vai arī " +"sazinieties ar servera īpašnieku." #: classes/dlg.php:165 msgid "Match:" @@ -1149,20 +1032,22 @@ msgstr "Rādīt ierakstus" msgid "You can view this feed as RSS using the following URL:" msgstr "Jūs varat skatīt so baronti kā RSS ar sekojošu URL:" -#: classes/dlg.php:232 -#: plugins/updater/init.php:334 +#: classes/dlg.php:232 plugins/updater/init.php:334 #, php-format msgid "New version of Tiny Tiny RSS is available (%s)." msgstr "Ir pieejama jauna Tiny Tiny RSS versija (%s)." #: classes/dlg.php:240 -msgid "You can update using built-in updater in the Preferences or by using update.php" -msgstr "Jūs varat veikt atjaunojumus, izmantojot iestatījumos norādīto atjaunošanas procesu, vai arī atverot update.php lapu" - -#: classes/dlg.php:244 -#: plugins/updater/init.php:338 -msgid "See the release notes" +msgid "" +"You can update using built-in updater in the Preferences or by using update." +"php" msgstr "" +"Jūs varat veikt atjaunojumus, izmantojot iestatījumos norādīto atjaunošanas " +"procesu, vai arī atverot update.php lapu" + +#: classes/dlg.php:244 plugins/updater/init.php:338 +msgid "See the release notes" +msgstr "Skatiet laidiena piezīmes" #: classes/dlg.php:246 msgid "Download" @@ -1171,35 +1056,28 @@ msgstr "Lejuplādēt" #: classes/dlg.php:254 msgid "Error receiving version information or no new version available." msgstr "" +"Jauna versija nav pieejama, vai arī radās kļūda, saņemot versijas " +"informāciju." #: classes/feeds.php:51 msgid "View as RSS feed" msgstr "Skatīt RSS barotni" -#: classes/feeds.php:52 -#: classes/feeds.php:132 -#: classes/pref/feeds.php:1473 +#: classes/feeds.php:52 classes/feeds.php:132 classes/pref/feeds.php:1473 msgid "View as RSS" msgstr "Skatīt kā RSS" #: classes/feeds.php:60 -#, fuzzy, php-format +#, php-format msgid "Last updated: %s" -msgstr "Pēdējais atjaunojums:" +msgstr "Nesenākais atjaunojums: %s" -#: classes/feeds.php:88 -#: classes/pref/users.php:337 -#: classes/pref/labels.php:275 -#: classes/pref/filters.php:302 -#: classes/pref/filters.php:350 -#: classes/pref/filters.php:672 -#: classes/pref/filters.php:760 -#: classes/pref/filters.php:787 -#: classes/pref/prefs.php:1000 -#: classes/pref/feeds.php:1305 -#: classes/pref/feeds.php:1562 -#: classes/pref/feeds.php:1626 -#: plugins/instances/init.php:287 +#: classes/feeds.php:88 classes/pref/users.php:337 classes/pref/labels.php:275 +#: classes/pref/filters.php:302 classes/pref/filters.php:350 +#: classes/pref/filters.php:672 classes/pref/filters.php:760 +#: classes/pref/filters.php:787 classes/pref/prefs.php:1000 +#: classes/pref/feeds.php:1305 classes/pref/feeds.php:1562 +#: classes/pref/feeds.php:1626 plugins/instances/init.php:287 msgid "All" msgstr "Visus" @@ -1207,26 +1085,18 @@ msgstr "Visus" msgid "Invert" msgstr "Apgriezt" -#: classes/feeds.php:91 -#: classes/pref/users.php:339 -#: classes/pref/labels.php:277 -#: classes/pref/filters.php:304 -#: classes/pref/filters.php:352 -#: classes/pref/filters.php:674 -#: classes/pref/filters.php:762 -#: classes/pref/filters.php:789 -#: classes/pref/prefs.php:1002 -#: classes/pref/feeds.php:1307 -#: classes/pref/feeds.php:1564 -#: classes/pref/feeds.php:1628 -#: plugins/instances/init.php:289 +#: classes/feeds.php:91 classes/pref/users.php:339 classes/pref/labels.php:277 +#: classes/pref/filters.php:304 classes/pref/filters.php:352 +#: classes/pref/filters.php:674 classes/pref/filters.php:762 +#: classes/pref/filters.php:789 classes/pref/prefs.php:1002 +#: classes/pref/feeds.php:1307 classes/pref/feeds.php:1564 +#: classes/pref/feeds.php:1628 plugins/instances/init.php:289 msgid "None" msgstr "Nevienu" #: classes/feeds.php:97 -#, fuzzy msgid "More..." -msgstr "Papildu iespējas..." +msgstr "Vairāk..." #: classes/feeds.php:99 msgid "Selection toggle:" @@ -1248,17 +1118,13 @@ msgstr "Arhivēt" msgid "Move back" msgstr "Pārvietot atpakaļ" -#: classes/feeds.php:114 -#: classes/pref/filters.php:311 -#: classes/pref/filters.php:359 -#: classes/pref/filters.php:769 +#: classes/feeds.php:114 classes/pref/filters.php:311 +#: classes/pref/filters.php:359 classes/pref/filters.php:769 #: classes/pref/filters.php:796 msgid "Delete" msgstr "Dzēst" -#: classes/feeds.php:119 -#: classes/feeds.php:124 -#: plugins/mailto/init.php:25 +#: classes/feeds.php:119 classes/feeds.php:124 plugins/mailto/init.php:25 #: plugins/mail/init.php:75 msgid "Forward by email" msgstr "Pārsūtīt e-pastā" @@ -1267,31 +1133,26 @@ msgstr "Pārsūtīt e-pastā" msgid "Feed:" msgstr "Barotne:" -#: classes/feeds.php:201 -#: classes/feeds.php:849 +#: classes/feeds.php:201 classes/feeds.php:849 msgid "Feed not found." msgstr "Barotne netika atrasta." #: classes/feeds.php:260 -#, fuzzy msgid "Never" -msgstr "Nekad nedzēst" +msgstr "Nekad" #: classes/feeds.php:381 -#, fuzzy, php-format +#, php-format msgid "Imported at %s" -msgstr "Imports" +msgstr "Importēts %s" -#: classes/feeds.php:440 -#: classes/feeds.php:535 -#, fuzzy +#: classes/feeds.php:440 classes/feeds.php:535 msgid "mark feed as read" -msgstr "Atzīmēt barotni kā lasītu" +msgstr "atzīmēt barotni kā lasītu" #: classes/feeds.php:592 -#, fuzzy msgid "Collapse article" -msgstr "Aizvērt rakstu" +msgstr "Sakļaut rakstu" #: classes/feeds.php:752 msgid "No unread articles found to display." @@ -1306,38 +1167,38 @@ msgid "No starred articles found to display." msgstr "Nav zvaigžņotu rakstu, ko rādīt." #: classes/feeds.php:762 -#, 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." +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 " +"(ir spēkā visiem atlasītajiem rakstiem), vai arī ar filtru." #: classes/feeds.php:764 msgid "No articles found to display." msgstr "Netika atrasti raksti, ko rādīt." -#: classes/feeds.php:779 -#: classes/feeds.php:944 +#: classes/feeds.php:779 classes/feeds.php:944 #, php-format msgid "Feeds last updated at %s" msgstr "Barotnes pēdējo reizi atjaunotas %s." -#: classes/feeds.php:789 -#: classes/feeds.php:954 +#: classes/feeds.php:789 classes/feeds.php:954 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)" +msgstr "" +"Dažas barotnes ir atjaunotas ar kļūdām (klikšķiniet lai skatītu vairāk)" #: classes/feeds.php:934 msgid "No feed selected." msgstr "Nav izvēlēta barotne." -#: classes/feeds.php:991 -#: classes/feeds.php:999 +#: classes/feeds.php:991 classes/feeds.php:999 msgid "Feed or site URL" msgstr "Barotnes vai vietnes URL" -#: classes/feeds.php:1005 -#: classes/pref/feeds.php:590 -#: classes/pref/feeds.php:801 -#: classes/pref/feeds.php:1781 +#: classes/feeds.php:1005 classes/pref/feeds.php:590 +#: classes/pref/feeds.php:801 classes/pref/feeds.php:1781 msgid "Place in category:" msgstr "Ievietot kategorijā:" @@ -1345,25 +1206,19 @@ msgstr "Ievietot kategorijā:" msgid "Available feeds" msgstr "Pieejamās barotnes" -#: classes/feeds.php:1025 -#: classes/pref/users.php:133 -#: classes/pref/feeds.php:620 -#: classes/pref/feeds.php:837 +#: classes/feeds.php:1025 classes/pref/users.php:133 +#: classes/pref/feeds.php:620 classes/pref/feeds.php:837 msgid "Authentication" msgstr "Autentifikācija" -#: classes/feeds.php:1029 -#: classes/pref/users.php:397 -#: classes/pref/feeds.php:626 -#: classes/pref/feeds.php:841 +#: classes/feeds.php:1029 classes/pref/users.php:397 +#: classes/pref/feeds.php:626 classes/pref/feeds.php:841 #: classes/pref/feeds.php:1795 msgid "Login" msgstr "Pieteikšanās" -#: classes/feeds.php:1032 -#: classes/pref/prefs.php:261 -#: classes/pref/feeds.php:639 -#: classes/pref/feeds.php:847 +#: classes/feeds.php:1032 classes/pref/prefs.php:261 +#: classes/pref/feeds.php:639 classes/pref/feeds.php:847 #: classes/pref/feeds.php:1798 msgid "Password" msgstr "Parole" @@ -1372,9 +1227,7 @@ msgstr "Parole" msgid "This feed requires authentication." msgstr "Šim laukam ir nepieciešams autentificēties." -#: classes/feeds.php:1047 -#: classes/feeds.php:1101 -#: classes/pref/feeds.php:1816 +#: classes/feeds.php:1047 classes/feeds.php:1101 classes/pref/feeds.php:1816 msgid "Subscribe" msgstr "Pasūtīt" @@ -1382,12 +1235,8 @@ msgstr "Pasūtīt" msgid "More feeds" msgstr "Vairāk barotnes" -#: classes/feeds.php:1073 -#: classes/feeds.php:1162 -#: classes/pref/users.php:324 -#: classes/pref/filters.php:665 -#: classes/pref/feeds.php:1298 -#: js/tt-rss.js:174 +#: classes/feeds.php:1073 classes/feeds.php:1162 classes/pref/users.php:324 +#: classes/pref/filters.php:665 classes/pref/feeds.php:1298 js/tt-rss.js:174 msgid "Search" msgstr "Meklēt" @@ -1403,15 +1252,12 @@ msgstr "Barotņu arhīvs" msgid "limit:" msgstr "ierobežojumi:" -#: classes/feeds.php:1102 -#: classes/pref/users.php:350 -#: classes/pref/labels.php:284 -#: classes/pref/filters.php:418 -#: classes/pref/filters.php:691 -#: classes/pref/feeds.php:744 +#: classes/feeds.php:1102 classes/pref/users.php:350 +#: classes/pref/labels.php:284 classes/pref/filters.php:418 +#: classes/pref/filters.php:691 classes/pref/feeds.php:744 #: plugins/instances/init.php:294 msgid "Remove" -msgstr "Novākt" +msgstr "Dzēst" #: classes/feeds.php:1113 msgid "Look for" @@ -1426,9 +1272,8 @@ msgid "This feed" msgstr "Šajā barotnē" #: classes/feeds.php:1158 -#, fuzzy msgid "Search syntax" -msgstr "Meklēt" +msgstr "Meklēšanas sintakse" #: classes/backend.php:33 msgid "Other interface tips are available in the Tiny Tiny RSS wiki." @@ -1440,18 +1285,17 @@ msgstr "Īsinājumtaustiņi" #: classes/backend.php:61 msgid "Shift" -msgstr "" +msgstr "Shift" #: classes/backend.php:64 msgid "Ctrl" -msgstr "" +msgstr "Ctrl" #: classes/backend.php:99 msgid "Help topic not found." msgstr "Palīdzības tēma netika atrasta." -#: classes/opml.php:28 -#: classes/opml.php:33 +#: classes/opml.php:28 classes/opml.php:33 msgid "OPML Utility" msgstr "OPML rīks" @@ -1497,38 +1341,31 @@ msgstr "Pievieno filtru..." msgid "Processing category: %s" msgstr "Apstrādā kategoriju: %s" -#: classes/opml.php:470 -#: plugins/import_export/init.php:420 +#: classes/opml.php:470 plugins/import_export/init.php:420 #: plugins/googlereaderimport/init.php:66 #, php-format msgid "Upload failed with error code %d" -msgstr "" +msgstr "Augšuplāde neizdevās ar kļūdas kodu %d" -#: classes/opml.php:484 -#: plugins/import_export/init.php:434 +#: classes/opml.php:484 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." +msgstr "Neizdevās pārvietot augšuplādēto failu." -#: classes/opml.php:488 -#: plugins/import_export/init.php:438 +#: classes/opml.php:488 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." #: classes/opml.php:497 -#, fuzzy msgid "Error: unable to find moved OPML file." -msgstr "Kļūda: lūdzu augšuplādējiet OPML failu." +msgstr "Kļūda: neizdevās atrast pārvietoto OPML failu." -#: classes/opml.php:504 -#: plugins/googlereaderimport/init.php:187 +#: classes/opml.php:504 plugins/googlereaderimport/init.php:187 msgid "Error while parsing document." msgstr "Dokumenta apstrādes kļūda." -#: 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 "Jums nav pietiekamas pieejas tiesības, lai atvērtu šo cilni." @@ -1537,8 +1374,7 @@ msgstr "Jums nav pietiekamas pieejas tiesības, lai atvērtu šo cilni." msgid "User not found" msgstr "Lietotājs netika atrasts" -#: classes/pref/users.php:53 -#: classes/pref/users.php:399 +#: classes/pref/users.php:53 classes/pref/users.php:399 msgid "Registered" msgstr "Reģistrēts" @@ -1558,8 +1394,7 @@ msgstr "Pasūtītās barotnes" msgid "Access level: " msgstr "Pieejas līmenis:" -#: classes/pref/users.php:154 -#: classes/pref/feeds.php:647 +#: classes/pref/users.php:154 classes/pref/feeds.php:647 #: classes/pref/feeds.php:853 msgid "Options" msgstr "Iespējas" @@ -1580,35 +1415,25 @@ msgid "User %s already exists." msgstr "Lietotājs %s jau pastāv." #: classes/pref/users.php:265 -#, fuzzy, php-format +#, php-format msgid "Changed password of user %s to %s" -msgstr "" -"Nomainīja lietotāja %s paroli\n" -"\t\t\t\t uz %s" +msgstr "Izmainīta parole lietotājam no %s uz %s" #: classes/pref/users.php:267 -#, fuzzy, php-format +#, php-format msgid "Sending new password of user %s to %s" -msgstr "" -"Nomainīja lietotāja %s paroli\n" -"\t\t\t\t uz %s" +msgstr "Sūta jauno paroli lietotājam %s uz %s" #: classes/pref/users.php:291 msgid "[tt-rss] Password change notification" msgstr "[tt-rss] paroles maiņas paziņojums" -#: classes/pref/users.php:334 -#: classes/pref/labels.php:272 -#: classes/pref/filters.php:299 -#: classes/pref/filters.php:347 -#: classes/pref/filters.php:669 -#: classes/pref/filters.php:757 -#: classes/pref/filters.php:784 -#: classes/pref/prefs.php:997 -#: classes/pref/feeds.php:1302 -#: classes/pref/feeds.php:1559 -#: classes/pref/feeds.php:1623 -#: plugins/instances/init.php:284 +#: classes/pref/users.php:334 classes/pref/labels.php:272 +#: classes/pref/filters.php:299 classes/pref/filters.php:347 +#: classes/pref/filters.php:669 classes/pref/filters.php:757 +#: classes/pref/filters.php:784 classes/pref/prefs.php:997 +#: classes/pref/feeds.php:1302 classes/pref/feeds.php:1559 +#: classes/pref/feeds.php:1623 plugins/instances/init.php:284 msgid "Select" msgstr "Iezīmēt" @@ -1620,11 +1445,10 @@ msgstr "Izveidot lietotāju" msgid "Details" msgstr "Detaļas" -#: classes/pref/users.php:348 -#: classes/pref/filters.php:684 +#: classes/pref/users.php:348 classes/pref/filters.php:684 #: plugins/instances/init.php:293 msgid "Edit" -msgstr "Rediģēt" +msgstr "Mainīt" #: classes/pref/users.php:398 msgid "Access Level" @@ -1634,10 +1458,9 @@ msgstr "Pieejas līmenis" msgid "Last login" msgstr "Pēdējā pieteikšanās" -#: classes/pref/users.php:419 -#: plugins/instances/init.php:334 +#: classes/pref/users.php:419 plugins/instances/init.php:334 msgid "Click to edit" -msgstr "Klikšķiniet, lai rediģētu" +msgstr "Klikšķiniet, lai mainītu" #: classes/pref/users.php:439 msgid "No users defined." @@ -1647,8 +1470,7 @@ msgstr "Nav definēti lietotāji." msgid "No matching users found." msgstr "Neatradu atbilstošus lietotājus." -#: classes/pref/labels.php:22 -#: classes/pref/filters.php:288 +#: classes/pref/labels.php:22 classes/pref/filters.php:288 #: classes/pref/filters.php:748 msgid "Caption" msgstr "Uzraksts" @@ -1683,57 +1505,49 @@ msgid "No recent articles matching this filter have been found." msgstr "Neseni raksti ar šādiem atlases nosacījumiem netika atrasti" #: classes/pref/filters.php:135 -msgid "Complex expressions might not give results while testing due to issues with database server regexp implementation." +msgid "" +"Complex expressions might not give results while testing due to issues with " +"database server regexp implementation." msgstr "" +"Sarežģītas izteiksmes testējot var neatgriezt rezultātu sakarā ar datu bāzes " +"vai servera regulāro izteiksmju implementāciju." -#: classes/pref/filters.php:179 -#: classes/pref/filters.php:458 -#, fuzzy +#: classes/pref/filters.php:179 classes/pref/filters.php:458 msgid "(inverse)" -msgstr "Apgriezt" +msgstr "(apvērst)" -#: classes/pref/filters.php:175 -#: classes/pref/filters.php:457 -#, fuzzy, php-format +#: classes/pref/filters.php:175 classes/pref/filters.php:457 +#, php-format msgid "%s on %s in %s %s" -msgstr "%s kad %s kur %s" +msgstr "%s uz %s iekš %s %s" -#: classes/pref/filters.php:294 -#: classes/pref/filters.php:752 +#: classes/pref/filters.php:294 classes/pref/filters.php:752 #: classes/pref/filters.php:867 msgid "Match" msgstr "Atbilstība" -#: classes/pref/filters.php:308 -#: classes/pref/filters.php:356 -#: classes/pref/filters.php:766 -#: classes/pref/filters.php:793 +#: classes/pref/filters.php:308 classes/pref/filters.php:356 +#: classes/pref/filters.php:766 classes/pref/filters.php:793 msgid "Add" msgstr "Pievienot" -#: classes/pref/filters.php:342 -#: classes/pref/filters.php:779 +#: classes/pref/filters.php:342 classes/pref/filters.php:779 msgid "Apply actions" msgstr "Pielietot darbības" -#: classes/pref/filters.php:392 -#: classes/pref/filters.php:808 +#: classes/pref/filters.php:392 classes/pref/filters.php:808 msgid "Enabled" -msgstr "Iespējots" +msgstr "Ieslēgts" -#: classes/pref/filters.php:401 -#: classes/pref/filters.php:811 +#: classes/pref/filters.php:401 classes/pref/filters.php:811 msgid "Match any rule" msgstr "Atbilst jebkuram likumam" -#: classes/pref/filters.php:410 -#: classes/pref/filters.php:814 -#, fuzzy +#: classes/pref/filters.php:410 classes/pref/filters.php:814 msgid "Inverse matching" -msgstr "Apgriezt rakstu iezīmēšanu" +msgstr "Ačgārnā atbilstība" -#: classes/pref/filters.php:422 -#: classes/pref/filters.php:821 +#: classes/pref/filters.php:422 classes/pref/filters.php:821 msgid "Test" msgstr "Pārbaudīt" @@ -1741,14 +1555,12 @@ msgstr "Pārbaudīt" msgid "Combine" msgstr "Apvienot" -#: classes/pref/filters.php:687 -#: classes/pref/feeds.php:1318 +#: classes/pref/filters.php:687 classes/pref/feeds.php:1318 #: classes/pref/feeds.php:1332 msgid "Reset sort order" msgstr "Atstatīt kārtošanas secību" -#: classes/pref/filters.php:695 -#: classes/pref/feeds.php:1354 +#: classes/pref/filters.php:695 classes/pref/feeds.php:1354 msgid "Rescore articles" msgstr "Pārvērtēt rakstus" @@ -1758,21 +1570,19 @@ msgstr "Izveidot" #: classes/pref/filters.php:879 msgid "Inverse regular expression matching" -msgstr "" +msgstr "Ačgārna regulāro izteiksmju atbilstība" #: classes/pref/filters.php:881 msgid "on field" msgstr "laukā" -#: classes/pref/filters.php:887 -#: js/PrefFilterTree.js:61 +#: classes/pref/filters.php:887 js/PrefFilterTree.js:61 msgid "in" msgstr "kur" #: classes/pref/filters.php:900 -#, fuzzy msgid "Wiki: Filters" -msgstr "Filtri" +msgstr "Wiki: Filtri" #: classes/pref/filters.php:905 msgid "Save rule" @@ -1794,29 +1604,27 @@ msgstr "ar parametriem:" msgid "Save action" msgstr "Saglabāt darbību" -#: classes/pref/filters.php:972 -#: js/functions.js:1048 +#: classes/pref/filters.php:972 js/functions.js:1048 msgid "Add action" msgstr "Pievienot darbību" #: classes/pref/filters.php:995 -#, fuzzy msgid "[No caption]" -msgstr "Uzraksts" +msgstr "[nav paraksta]" #: classes/pref/filters.php:997 -#, fuzzy, php-format +#, php-format msgid "%s (%d rule)" msgid_plural "%s (%d rules)" -msgstr[0] "Pievienot likumu" -msgstr[1] "Pievienot likumu" +msgstr[0] "%s (%d likums)" +msgstr[1] "%s (%d likumi)" #: classes/pref/filters.php:1012 -#, fuzzy, php-format +#, php-format msgid "%s (+%d action)" msgid_plural "%s (+%d actions)" -msgstr[0] "Pievienot darbību" -msgstr[1] "Pievienot darbību" +msgstr[0] "%s (+%d darbība)" +msgstr[1] "%s (+%d darbības)" #: classes/pref/prefs.php:18 msgid "General" @@ -1832,12 +1640,11 @@ msgstr "Paplašināti" #: classes/pref/prefs.php:21 msgid "Digest" -msgstr "" +msgstr "Īssavilkums" #: classes/pref/prefs.php:25 -#, fuzzy msgid "Allow duplicate articles" -msgstr "Atļaut dublētus ziņojumus" +msgstr "Atļaut dublētus rakstus" #: classes/pref/prefs.php:26 msgid "Assign articles to labels automatically" @@ -1848,18 +1655,24 @@ msgid "Blacklisted tags" msgstr "Tagu melnais saraksts" #: classes/pref/prefs.php:27 -#, fuzzy -msgid "When auto-detecting tags in articles these tags will not be applied (comma-separated list)." -msgstr "Kad tiek automātiski noteikti rakstu tagi, šie tagi netiks piemēroti (ar komatu atdalīts saraksts)." +msgid "" +"When auto-detecting tags in articles these tags will not be applied (comma-" +"separated list)." +msgstr "" +"Automātiski nosakot rakstu tagus, šie tagi netiks lietoti (ar komatu " +"atdalīts saraksts)." #: classes/pref/prefs.php:28 msgid "Automatically mark articles as read" msgstr "Automātiski atzīmēt rakstus kā izlasītus" #: classes/pref/prefs.php:28 -#, fuzzy -msgid "This option enables marking articles as read automatically while you scroll article list." -msgstr "Šī iespēja ļauj automātiski atzīmēt rakstu kā lasītu, kad jūs pārtinat tā saturu." +msgid "" +"This option enables marking articles as read automatically while you scroll " +"article list." +msgstr "" +"Šī iespēja ļauj automātiski atzīmēt rakstu kā lasītu, jums pārtinot tā " +"saturu." #: classes/pref/prefs.php:29 msgid "Automatically expand articles in combined mode" @@ -1870,8 +1683,12 @@ msgid "Combined feed display" msgstr "Kombinēts barotņu skatījums" #: classes/pref/prefs.php:30 -msgid "Display expanded list of feed articles, instead of separate displays for headlines and article content" -msgstr "Atsevišķa virsraksta un satura vietā parāda paplašinātu barotnes rakstu sarakstu" +msgid "" +"Display expanded list of feed articles, instead of separate displays for " +"headlines and article content" +msgstr "" +"Atsevišķa virsraksta un satura vietā parāda paplašinātu barotnes rakstu " +"sarakstu" #: classes/pref/prefs.php:31 msgid "Confirm marking feed as read" @@ -1882,26 +1699,32 @@ msgid "Amount of articles to display at once" msgstr "Vienlaicīgi parādīto rakstu skaits" #: classes/pref/prefs.php:33 -#, fuzzy msgid "Default feed update interval" -msgstr "Noklusētais intervāls" +msgstr "Noklusētais barotnes atjaunošanas intervāls" #: 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 "" +"Īsākais periods, pēc kura barotno tiks pārbaudīti jaunumi, neatkarīgi no " +"atjaunošanas veida" #: classes/pref/prefs.php:34 msgid "Mark articles in e-mail digest as read" msgstr "Atzīmēt īssavilkuma rakstus e-pastā kā lasītus" #: classes/pref/prefs.php:35 -#, fuzzy msgid "Enable e-mail digest" -msgstr "Iespējot īssavilkuma sūtīšanu pa e-pastu" +msgstr "Ieslēgt īssavilkuma sūtīšanu pa e-pastu" #: classes/pref/prefs.php:35 -msgid "This option enables sending daily digest of new (and unread) headlines on your configured e-mail address" -msgstr "Šī iespēja ļauj nosūtīt ikdienas jauno (vai nelasīto) rakstu īssavilkumu uz norādīto e-pasta adresi" +msgid "" +"This option enables sending daily digest of new (and unread) headlines on " +"your configured e-mail address" +msgstr "" +"Šī iespēja ļauj nosūtīt ikdienas jauno (vai nelasīto) rakstu īssavilkumu uz " +"norādīto e-pasta adresi" #: classes/pref/prefs.php:36 msgid "Try to send digests around specified time" @@ -1913,15 +1736,15 @@ msgstr "Izmanto UTC laika zonu" #: classes/pref/prefs.php:37 msgid "Enable API access" -msgstr "" +msgstr "Ieslēgt API pieeju" #: classes/pref/prefs.php:37 msgid "Allows external clients to access this account through the API" -msgstr "" +msgstr "Ļauj ārējiem klientiem piekļūt šim kontam, izmantojot API" #: classes/pref/prefs.php:38 msgid "Enable feed categories" -msgstr "Iespējot barotņu kategorijas" +msgstr "Ieslēgt barotņu kategorijas" #: classes/pref/prefs.php:39 msgid "Sort feeds by unread articles count" @@ -1932,30 +1755,34 @@ msgid "Maximum age of fresh articles (in hours)" msgstr "Maksimālais svaigo rakstu laiks (stundās)" #: classes/pref/prefs.php:41 -#, fuzzy msgid "Hide feeds with no unread articles" -msgstr "Slēpt barotnes ar izlasītiem ziņojumiem" +msgstr "Slēpt barotnes ar izlasītiem rakstiem" #: classes/pref/prefs.php:42 -#, fuzzy msgid "Show special feeds when hiding read feeds" -msgstr "Rādīt īpašās barotnes kad tiek slēptas izlasītās" +msgstr "Slēpjot izlasītās, rādīt īpašās barotnes" #: classes/pref/prefs.php:43 msgid "Long date format" msgstr "Garais datumu formāts" #: classes/pref/prefs.php:43 -msgid "The syntax used is identical to the PHP date() function." +msgid "" +"The syntax used is identical to the PHP date() function." msgstr "" +"Izmantotā sintakse ir identiska PHP date() funkcijai." #: classes/pref/prefs.php:44 msgid "On catchup show next feed" msgstr "Pēc noķeršanas rādīt nākamo barotni" #: classes/pref/prefs.php:44 -msgid "Automatically open next feed with unread articles after marking one as read" -msgstr "Automātiski atver nākamo barotni, kad vienā visi raksti ir atzīmēti kā lasīti" +msgid "" +"Automatically open next feed with unread articles after marking one as read" +msgstr "" +"Automātiski atver nākamo barotni, kad vienā visi raksti ir atzīmēti kā lasīti" #: classes/pref/prefs.php:45 msgid "Purge articles after this number of days (0 - disables)" @@ -1983,7 +1810,8 @@ msgstr "Kārtot virsrakstus pēc barotnes laika" #: classes/pref/prefs.php:50 msgid "Use feed-specified date to sort headlines instead of local import date." -msgstr "Kārtošanai izmantot barotnē norādīto raksta laiku nevis tā importēšanas laiku" +msgstr "" +"Kārtošanai izmantot barotnē norādīto raksta laiku nevis tā importēšanas laiku" #: classes/pref/prefs.php:51 msgid "Login with an SSL certificate" @@ -1994,7 +1822,6 @@ msgid "Click to register your SSL client certificate with tt-rss" msgstr "Klikšķiniet, lai reģistrētu jūsu klienta SSL sertifikātu tt-rss" #: classes/pref/prefs.php:52 -#, fuzzy msgid "Do not embed images in articles" msgstr "Nerādīt rakstos attēlus" @@ -2015,9 +1842,8 @@ msgid "Customize CSS stylesheet to your liking" msgstr "Pielāgot CSS stilu lapu" #: classes/pref/prefs.php:55 -#, fuzzy msgid "Time zone" -msgstr "Lietotāja laika zona" +msgstr "Laika zona" #: classes/pref/prefs.php:56 msgid "Group headlines in virtual feeds" @@ -2026,19 +1852,19 @@ msgstr "Apvienot virsrakstus virtuālās barotnēs" #: classes/pref/prefs.php:56 msgid "Special feeds, labels, and categories are grouped by originating feeds" msgstr "" +"Īpašās barotnes, iezīmes un kategorijas tiek grupētas pēc izcelsmes barotnēm" #: classes/pref/prefs.php:57 -#, fuzzy msgid "Language" -msgstr "Valoda:" +msgstr "Valoda" #: 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 "Izvēlieties vienu no pieejamām CSS tēmām" #: classes/pref/prefs.php:69 msgid "Old password cannot be blank." @@ -2071,7 +1897,7 @@ msgstr "Jūsu personīgie dati ir saglabāti." #: classes/pref/prefs.php:176 msgid "Your preferences are now set to default values." -msgstr "" +msgstr "Jūsu izvēles tagad ir iestatītas uz noklusētajām vērtībām." #: classes/pref/prefs.php:199 msgid "Personal data / Authentication" @@ -2103,7 +1929,7 @@ msgstr "Jums ir norādīta noklusētā parole, lūdzu nomainiet to." #: classes/pref/prefs.php:295 msgid "Changing your current password will disable OTP." -msgstr "" +msgstr "Jūsu tekošās paroles maiņa izslēgs VLP." #: classes/pref/prefs.php:300 msgid "Old password" @@ -2126,11 +1952,14 @@ msgid "One time passwords / Authenticator" msgstr "Vienreizlietojamā parole/autentifikācija" #: classes/pref/prefs.php:328 -msgid "One time passwords are currently enabled. Enter your current password below to disable." +msgid "" +"One time passwords are currently enabled. Enter your current password below " +"to disable." msgstr "" +"Vienreiz lietojamās paroles (VLP) šobrīd ir ieslēgtas. Lai izslēgtu, " +"ievadiet jūsu pašreizējo paroli." -#: classes/pref/prefs.php:353 -#: classes/pref/prefs.php:404 +#: classes/pref/prefs.php:353 classes/pref/prefs.php:404 msgid "Enter your password" msgstr "Ievadiet savu paroli" @@ -2139,29 +1968,32 @@ msgid "Disable OTP" msgstr "Atslēgt vienreizlietojamo paroli" #: classes/pref/prefs.php:370 -msgid "You will need a compatible Authenticator to use this. Changing your password would automatically disable OTP." -msgstr "Lai to lietotu, jums būs nepieciešams savietojams autentifikators. Jūsu paroles maiņa automātiski atslēgs vienreizlietojamo paroli." +msgid "" +"You will need a compatible Authenticator to use this. Changing your password " +"would automatically disable OTP." +msgstr "" +"Lai to lietotu, jums būs nepieciešams savietojams autentifikators. Jūsu " +"paroles maiņa automātiski atslēgs vienreizlietojamo paroli." #: classes/pref/prefs.php:372 msgid "Scan the following code by the Authenticator application:" msgstr "Ar autentifikācijas moduli noskenējiet sekojošo kodu:" #: classes/pref/prefs.php:409 -#, fuzzy msgid "Enter the generated one time password" -msgstr "Lūdzu ievadiet vienreizlietojamo paroli:" +msgstr "Ievadiet vienreiz lietojamo paroli:" #: classes/pref/prefs.php:423 msgid "Enable OTP" -msgstr "Iespējot vienreizlietojamo paroli" +msgstr "Ieslēgt vienreizlietojamo paroli" #: classes/pref/prefs.php:429 msgid "PHP GD functions are required for OTP support." -msgstr "" +msgstr "Lai ieslēgtu VLP, ir nepieciešams PHP GD atbalsts." #: classes/pref/prefs.php:472 msgid "Some preferences are only available in default profile." -msgstr "" +msgstr "Dažas izvēles ir pieejamas tikai noklusētajā profilā." #: classes/pref/prefs.php:570 msgid "Customize" @@ -2185,9 +2017,8 @@ msgid "Save configuration" msgstr "Saglabāt iestatījumus" #: classes/pref/prefs.php:676 -#, fuzzy msgid "Save and exit preferences" -msgstr "Iziet no iestatījumiem" +msgstr "Saglabāt un iziet no iestatījumiem" #: classes/pref/prefs.php:681 msgid "Manage profiles" @@ -2199,81 +2030,86 @@ msgstr "Atstatīt uz noklusētajiem" #: classes/pref/prefs.php:707 msgid "Plugins" -msgstr "" +msgstr "Spraudņi" #: classes/pref/prefs.php:709 -msgid "You will need to reload Tiny Tiny RSS for plugin changes to take effect." +msgid "" +"You will need to reload Tiny Tiny RSS for plugin changes to take effect." msgstr "" +"Lai tas sāktu strādāt, jums būs nepieciešams pārlādēt Tiny Tiny RSS spraudni." #: classes/pref/prefs.php:711 -msgid "Download more plugins at tt-rss.org forums or wiki." +msgid "" +"Download more plugins at tt-rss.org forums or wiki." msgstr "" +"Lejuplādējiet citus spraudņus no tt-rss.org forumiem " +"vai viki." #: classes/pref/prefs.php:737 msgid "System plugins" -msgstr "" +msgstr "Sistēmas spraudņi" -#: classes/pref/prefs.php:741 -#: classes/pref/prefs.php:797 +#: classes/pref/prefs.php:741 classes/pref/prefs.php:797 msgid "Plugin" -msgstr "" +msgstr "Spraudnis" -#: classes/pref/prefs.php:742 -#: classes/pref/prefs.php:798 +#: classes/pref/prefs.php:742 classes/pref/prefs.php:798 msgid "Description" -msgstr "" +msgstr "Apraksts" -#: classes/pref/prefs.php:743 -#: classes/pref/prefs.php:799 +#: classes/pref/prefs.php:743 classes/pref/prefs.php:799 msgid "Version" -msgstr "" +msgstr "Versija" -#: classes/pref/prefs.php:744 -#: classes/pref/prefs.php:800 +#: classes/pref/prefs.php:744 classes/pref/prefs.php:800 msgid "Author" -msgstr "" +msgstr "Autors" -#: classes/pref/prefs.php:775 -#: classes/pref/prefs.php:834 +#: classes/pref/prefs.php:775 classes/pref/prefs.php:834 msgid "more info" -msgstr "" +msgstr "papildu info" -#: classes/pref/prefs.php:784 -#: classes/pref/prefs.php:843 -#, fuzzy +#: classes/pref/prefs.php:784 classes/pref/prefs.php:843 msgid "Clear data" -msgstr "Dzēst barotņu datus" +msgstr "Dzēst datus" #: classes/pref/prefs.php:793 msgid "User plugins" -msgstr "" +msgstr "Lietotāja spraudņi" #: classes/pref/prefs.php:858 -#, fuzzy msgid "Enable selected plugins" -msgstr "Iespējot barotņu kategorijas" +msgstr "Ieslēgt izvēlētos spraudņus" #: classes/pref/prefs.php:926 -#, fuzzy msgid "Incorrect one time password" -msgstr "Nepareiza parole" +msgstr "Nepareiza vienreiz lietojamā parole" -#: classes/pref/prefs.php:929 -#: classes/pref/prefs.php:946 +#: classes/pref/prefs.php:929 classes/pref/prefs.php:946 msgid "Incorrect password" msgstr "Nepareiza parole" #: classes/pref/prefs.php:971 #, php-format -msgid "You can override colors, fonts and layout of your currently selected theme with custom CSS declarations here. This file 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 šī faila." +msgid "" +"You can override colors, fonts and layout of your currently selected theme " +"with custom CSS declarations here. This file 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 šī faila." #: classes/pref/prefs.php:1011 msgid "Create profile" msgstr "Izveidot profilu" -#: classes/pref/prefs.php:1034 -#: classes/pref/prefs.php:1062 +#: classes/pref/prefs.php:1034 classes/pref/prefs.php:1062 msgid "(active)" msgstr "(aktīvs)" @@ -2287,64 +2123,58 @@ msgstr "Aktivizēt profilu" #: classes/pref/feeds.php:13 msgid "Check to enable field" -msgstr "Iezīmējiet, lai iespējotu" +msgstr "Iezīmējiet, lai ieslēgtu" -#: classes/pref/feeds.php:63 -#: classes/pref/feeds.php:212 -#: classes/pref/feeds.php:256 -#: classes/pref/feeds.php:262 +#: classes/pref/feeds.php:63 classes/pref/feeds.php:212 +#: classes/pref/feeds.php:256 classes/pref/feeds.php:262 #: classes/pref/feeds.php:288 -#, fuzzy, php-format +#, php-format msgid "(%d feed)" msgid_plural "(%d feeds)" -msgstr[0] "(%d barotnes)" +msgstr[0] "(%d barotne)" msgstr[1] "(%d barotnes)" #: classes/pref/feeds.php:556 msgid "Feed Title" msgstr "Barotnes virsraksts" -#: classes/pref/feeds.php:598 -#: classes/pref/feeds.php:812 +#: classes/pref/feeds.php:598 classes/pref/feeds.php:812 msgid "Update" msgstr "Atjaunot" -#: classes/pref/feeds.php:613 -#: classes/pref/feeds.php:828 +#: classes/pref/feeds.php:613 classes/pref/feeds.php:828 msgid "Article purging:" msgstr "Dzēšu rakstu:" #: classes/pref/feeds.php:643 -msgid "Hint: you need to fill in your login information if your feed requires authentication, except for Twitter feeds." -msgstr "Ieteikums: 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." +msgid "" +"Hint: you need to fill in your login information if your feed " +"requires authentication, except for Twitter feeds." +msgstr "" +"Ieteikums: 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:659 -#: classes/pref/feeds.php:857 +#: classes/pref/feeds.php:659 classes/pref/feeds.php:857 msgid "Hide from Popular feeds" msgstr "Nerādīt populārajās barotnēs" -#: classes/pref/feeds.php:671 -#: classes/pref/feeds.php:863 +#: classes/pref/feeds.php:671 classes/pref/feeds.php:863 msgid "Include in e-mail digest" msgstr "Iekļaut e-pasta īssavilkumu" -#: classes/pref/feeds.php:684 -#: classes/pref/feeds.php:869 +#: classes/pref/feeds.php:684 classes/pref/feeds.php:869 msgid "Always display image attachments" msgstr "Vienmēr rādīt attēlu pielikumus" -#: classes/pref/feeds.php:697 -#: classes/pref/feeds.php:877 +#: classes/pref/feeds.php:697 classes/pref/feeds.php:877 msgid "Do not embed images" -msgstr "" +msgstr "Neiegult attēlus" -#: classes/pref/feeds.php:710 -#: classes/pref/feeds.php:885 +#: classes/pref/feeds.php:710 classes/pref/feeds.php:885 msgid "Cache images locally" msgstr "Kešot attēlus lokāli" -#: classes/pref/feeds.php:722 -#: classes/pref/feeds.php:891 +#: classes/pref/feeds.php:722 classes/pref/feeds.php:891 msgid "Mark updated articles as unread" msgstr "Atzīmēt atjaunotos rakstus kā nelasītus" @@ -2362,10 +2192,11 @@ msgstr "Pārpasūtīt atjaunojumu grūšanu" #: classes/pref/feeds.php:771 msgid "Resets PubSubHubbub subscription status for push-enabled feeds." -msgstr "Atstata PubSubHubbub pasūtījumu statusu barotnēm ar iespējotu atjaunojumu grūšanu." +msgstr "" +"Atstata PubSubHubbub pasūtījumu statusu barotnēm ar ieslēgtu atjaunojumu " +"grūšanu." -#: classes/pref/feeds.php:1146 -#: classes/pref/feeds.php:1199 +#: classes/pref/feeds.php:1146 classes/pref/feeds.php:1199 msgid "All done." msgstr "Viss izdarīts." @@ -2379,10 +2210,9 @@ msgstr "Neaktīvās barotnes" #: classes/pref/feeds.php:1316 msgid "Edit selected feeds" -msgstr "Rediģēt izvēlētās barotnes" +msgstr "Mainīt izvēlētās barotnes" -#: classes/pref/feeds.php:1320 -#: js/prefs.js:1732 +#: classes/pref/feeds.php:1320 js/prefs.js:1732 msgid "Batch subscribe" msgstr "Pasūtījuma pakotne" @@ -2415,8 +2245,12 @@ msgid "OPML" msgstr "OPML" #: classes/pref/feeds.php:1406 -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." +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:1406 msgid "Only main settings profile can be migrated using OPML." @@ -2439,12 +2273,20 @@ msgid "Export OPML" msgstr "Eksportēt OPML" #: classes/pref/feeds.php:1433 -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." +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:1435 -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." +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:1437 msgid "Public OPML URL" @@ -2459,8 +2301,12 @@ msgid "Firefox integration" msgstr "Firefox integrācija" #: classes/pref/feeds.php:1449 -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." +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:1456 msgid "Click here to register this site as a feed reader." @@ -2471,8 +2317,12 @@ msgid "Published & shared articles / Generated feeds" msgstr "Publicētie un kopīgotie raksti / sagatavotās barotnes" #: classes/pref/feeds.php:1466 -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." +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:1474 msgid "Display URL" @@ -2483,22 +2333,26 @@ msgid "Clear all generated URLs" msgstr "Attīrīt visus ģenerētos URL" #: classes/pref/feeds.php:1555 -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):" +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:1589 -#: classes/pref/feeds.php:1653 +#: classes/pref/feeds.php:1589 classes/pref/feeds.php:1653 msgid "Click to edit feed" -msgstr "Klikšķiniet, lai rediģētu" +msgstr "Klikšķiniet, lai mainītu" -#: classes/pref/feeds.php:1607 -#: classes/pref/feeds.php:1673 +#: classes/pref/feeds.php:1607 classes/pref/feeds.php:1673 msgid "Unsubscribe from selected feeds" msgstr "Atcelt izvēlēto barotņu pasūtīšanu" #: classes/pref/feeds.php:1778 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)" +msgstr "" +"Pievienojiet vienu derīgu RSS barotni vienā rindā (barotnes netiek " +"pārbaudītas)" #: classes/pref/feeds.php:1787 msgid "Feeds to subscribe, One per line" @@ -2510,29 +2364,27 @@ msgstr "Barotnēm nepieciešama autentifikācija" #: classes/pref/system.php:29 msgid "Error Log" -msgstr "" +msgstr "Kļūdu žurnāls" #: classes/pref/system.php:40 msgid "Refresh" -msgstr "" +msgstr "Atjaunot" #: classes/pref/system.php:43 -#, fuzzy msgid "Clear log" -msgstr "Attīrīt krāsas" +msgstr "Attīrīt žurnālu" #: classes/pref/system.php:48 msgid "Error" -msgstr "" +msgstr "Kļūda" #: classes/pref/system.php:49 -#, fuzzy msgid "Filename" -msgstr "Faila nosaukums:" +msgstr "Faila nosaukums" #: classes/pref/system.php:50 msgid "Message" -msgstr "" +msgstr "Ziņojums" #: classes/pref/system.php:52 msgid "Date" @@ -2542,21 +2394,19 @@ msgstr "Datums" msgid "Close article" msgstr "Aizvērt rakstu" -#: plugins/nsfw/init.php:30 -#: plugins/nsfw/init.php:42 +#: plugins/nsfw/init.php:30 plugins/nsfw/init.php:42 msgid "Not work safe (click to toggle)" -msgstr "" +msgstr "Nav drošs darbam (klikšķiniet, lai pārslēgtu)" #: plugins/nsfw/init.php:52 msgid "NSFW Plugin" -msgstr "" +msgstr "NSFW spraudnis" #: plugins/nsfw/init.php:79 msgid "Tags to consider NSFW (comma-separated)" -msgstr "" +msgstr "Tagi, kurus izmantot NSFW (atdalīti ar komatu)" #: plugins/nsfw/init.php:100 -#, fuzzy msgid "Configuration saved." msgstr "Iestatījumi ir saglabāti." @@ -2572,33 +2422,30 @@ msgstr "Parole ir nomainīta." msgid "Old password is incorrect." msgstr "Vecā parole nav pareiza." -#: plugins/mailto/init.php:49 -#: plugins/mailto/init.php:55 -#: plugins/mail/init.php:112 -#: plugins/mail/init.php:118 +#: plugins/mailto/init.php:49 plugins/mailto/init.php:55 +#: plugins/mail/init.php:112 plugins/mail/init.php:118 msgid "[Forwarded]" msgstr "[Pārsūtīts]" -#: plugins/mailto/init.php:49 -#: plugins/mail/init.php:112 +#: plugins/mailto/init.php:49 plugins/mail/init.php:112 msgid "Multiple articles" msgstr "Vairāki raksti" #: plugins/mailto/init.php:71 msgid "Clicking the following link to invoke your mail client:" -msgstr "" +msgstr "Klikšķiniet uz šīs saites, lai uzlūgtu jūsu e-pasta klientu:" #: plugins/mailto/init.php:75 -#, fuzzy msgid "Forward selected article(s) by email." -msgstr "Pārsūtīt e-pastā" +msgstr "Pārsūtīt izvēlētos rakstus pa e-pastu." #: plugins/mailto/init.php:78 -msgid "You should be able to edit the message before sending in your mail client." +msgid "" +"You should be able to edit the message before sending in your mail client." msgstr "" +"Jums vajadzētu spēt mainīt ziņu pirms nosūtīšanas jūsu e-pasta klientam." #: plugins/mailto/init.php:83 -#, fuzzy msgid "Close this dialog" msgstr "Aizvērt šo logu" @@ -2607,8 +2454,12 @@ msgid "Bookmarklets" msgstr "Grāmatzīmes" #: 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 "Velciet zemāk minēto saiti uz jūsu pārlūkprogrammas rīku joslu, tad atveriet jūs interesējošo saiti un klikšķiniet uz tās, lai pasūtītu tās jaunumus" +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 "" +"Velciet zemāk minēto saiti uz jūsu pārlūkprogrammas rīku joslu, tad atveriet " +"jūs interesējošo saiti un klikšķiniet uz tās, lai pasūtītu tās jaunumus" #: plugins/bookmarklets/init.php:26 #, php-format @@ -2628,9 +2479,12 @@ msgid "Import and export" msgstr "Imports un eksports" #: plugins/import_export/init.php:60 -#, 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." +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, migrējot tt-rss versiju vai pārejot uz citu tt-rss instanci." #: plugins/import_export/init.php:65 msgid "Export my data" @@ -2650,28 +2504,28 @@ msgstr "Neizdevās importēt: neatpazīts dokumenta formāts." #: plugins/import_export/init.php:383 msgid "Finished: " -msgstr "" +msgstr "Pabeigts:" #: plugins/import_export/init.php:384 -#, fuzzy, php-format +#, 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" +msgstr[0] "apstrādāts %d raksts," +msgstr[1] "apstrādāti %d raksti, " #: plugins/import_export/init.php:385 #, php-format msgid "%d imported, " msgid_plural "%d imported, " -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d importēts, " +msgstr[1] "%d importēti, " #: plugins/import_export/init.php:386 -#, fuzzy, php-format +#, 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." +msgstr[0] "%d izveidota barotne." +msgstr[1] "izveidotas %d barotnes." #: plugins/import_export/init.php:391 msgid "Could not load XML document." @@ -2681,22 +2535,23 @@ msgstr "Neizdevās ielādēt XML dokumentu." msgid "Prepare data" msgstr "Sagatavo datus" -#: plugins/import_export/init.php:446 -#: plugins/googlereaderimport/init.php:92 +#: plugins/import_export/init.php:446 plugins/googlereaderimport/init.php:92 msgid "No file uploaded." -msgstr "" +msgstr "Fails nav augšuplādēts." #: plugins/mail/init.php:28 msgid "Mail addresses saved." -msgstr "" +msgstr "E-pasta adrese saglabāta." #: plugins/mail/init.php:34 msgid "Mail plugin" -msgstr "" +msgstr "E-pasta spraudnis" #: plugins/mail/init.php:36 msgid "You can set predefined email addressed here (comma-separated list):" msgstr "" +"Jūs varat šeit iestatīt iepriekšnoteiktas adreses (ar komatu atdalīts " +"saraksts):" #: plugins/mail/init.php:140 msgid "To:" @@ -2710,79 +2565,70 @@ msgstr "Temats:" msgid "Send e-mail" msgstr "Nosūtīt e-pastu" -#: 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 "Rediģēt raksta piezīmes" +msgstr "Mainīt raksta piezīmes" #: plugins/googlereaderimport/init.php:179 #, php-format msgid "All done. %d out of %d articles imported." -msgstr "" +msgstr "Viss paveikts. Importēti %d no %d rakstiem." #: plugins/googlereaderimport/init.php:183 msgid "The document has incorrect format." -msgstr "" +msgstr "Dokumentam ir nepareizs formāts." #: plugins/googlereaderimport/init.php:354 msgid "Import starred or shared items from Google Reader" -msgstr "" +msgstr "Importēt zvaigžņotos vai kopīgotos rakstus no Google Reader" #: plugins/googlereaderimport/init.php:358 msgid "Paste your starred.json or shared.json into the form below." -msgstr "" +msgstr "Ievietojiet jūsu starred.json vai shared.json zemāk parādītajā formā." #: plugins/googlereaderimport/init.php:372 msgid "Import my Starred items" -msgstr "" +msgstr "Importēt manus zvaigžņotos rakstus" #: plugins/af_comics/init.php:39 msgid "Feeds supported by af_comics" -msgstr "" +msgstr "Ar af_comics atbalstītās barotnes" #: plugins/af_comics/init.php:41 msgid "The following comics are currently supported:" -msgstr "" +msgstr "Šobrīd tiek atbalstīti sekojoši komiksi:" -#: plugins/vf_shared/init.php:16 -#: plugins/vf_shared/init.php:54 -#, fuzzy +#: plugins/vf_shared/init.php:16 plugins/vf_shared/init.php:54 msgid "Shared articles" -msgstr "Zvaigžņotie raksti" +msgstr "Kopīgoti raksti" #: plugins/instances/init.php:141 msgid "Linked" msgstr "Saistīts" -#: 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 "Instances 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 "Pieejas atslēga:" -#: 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 "Pieejas aslēga" -#: 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 "Izmantot to pašu pieejas aslēgu abām saistītajām instancēm." -#: 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 "Ģenerēt jaunu atslēgu" @@ -2791,8 +2637,13 @@ msgid "Link instance" msgstr "Saites 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 "Jūs varat pievienot kopīgot populārās barotnes un pieslēgt tai citas Tiny Tiny RSS instances. Pievienoties šai Tiny Tiny RSS instancei var, izmantojot šo saiti:" +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 "" +"Jūs varat pievienot kopīgot populārās barotnes un pieslēgt tai citas Tiny " +"Tiny RSS instances. Pievienoties šai Tiny Tiny RSS instancei var, izmantojot " +"šo saiti:" #: plugins/instances/init.php:314 msgid "Last connected" @@ -2827,12 +2678,10 @@ msgid "You can share this article by the following unique URL:" msgstr "Jūs varat kopīgot šo rakstu ar sekojošu unikālu URL:" #: plugins/share/init.php:117 -#, fuzzy msgid "Unshare article" -msgstr "Atzvaigžņot rakstu" +msgstr "Nekopīgot rakstu" -#: plugins/updater/init.php:324 -#: plugins/updater/init.php:341 +#: plugins/updater/init.php:324 plugins/updater/init.php:341 #: plugins/updater/updater.js:10 msgid "Update Tiny Tiny RSS" msgstr "Atjaunot Tiny Tiny RSS" @@ -2842,26 +2691,30 @@ msgid "Your Tiny Tiny RSS installation is up to date." msgstr "Jūsu Tiny Tiny RSS ir aktuāls." #: plugins/updater/init.php:347 -#, fuzzy msgid "Force update" -msgstr "Izpildīt atjaunojumus" +msgstr "Uzspiest atjaunojumus" #: plugins/updater/init.php:356 -#, fuzzy msgid "Do not close this dialog until updating is finished." -msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, izveidojiet jūsu tt-rss mapes rezerves kopiju." +msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana." #: plugins/updater/init.php:365 msgid "It is suggested to backup your tt-rss directory first." -msgstr "" +msgstr "Iesakām vispirms izveidot jūsu tt-rss mapei rezerves kopiju." #: plugins/updater/init.php:366 msgid "Your database will not be modified." -msgstr "" +msgstr "Jūsu datubāze netiks mainīta." #: plugins/updater/init.php:367 -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 "" +"Jūsu tekošā tt-rss mape netiks mainīta. Tā tiks pārsaukta un tiks atstāta " +"vecākajā mapē. Jums būs iespēja migrēt jūsu pielāgotos failus pēc " +"atjaunošanas beigām." #: plugins/updater/init.php:368 msgid "Ready to update." @@ -2873,52 +2726,58 @@ msgstr "Sākt atjaunošanu" #: js/functions.js:62 msgid "The error will be reported to the configured log destination." -msgstr "" +msgstr "Kļūda tiks reģistrēta iestatījumos norādītajā žurnālā." #: js/functions.js:90 msgid "Report to tt-rss.org" -msgstr "" +msgstr "Ziņot tt-rss.org" #: js/functions.js:93 msgid "Close" -msgstr "" +msgstr "Aizvērt" #: js/functions.js:104 -#, fuzzy -msgid "Are you sure to report this exception to tt-rss.org? The report will include information about your web browser and tt-rss configuration. Your IP will be saved in the database." -msgstr "Vai tiešām vēlaties ziņot par šo izņēmumu tt-rss.org? Ziņojumā tiks iekļauta informācija par jūsu pārlūkprogrammu, un jūsu IP adrese tiks saglabāta datu bāzē." +msgid "" +"Are you sure to report this exception to tt-rss.org? The report will include " +"information about your web browser and tt-rss configuration. Your IP will be " +"saved in the database." +msgstr "" +"Vai tiešām vēlaties ziņot par šo izņēmumu tt-rss.org? Ziņojumā tiks iekļauta " +"informācija par jūsu pārlūkprogrammu, un jūsu IP adrese tiks saglabāta datu " +"bāzē." #: js/functions.js:236 -#, fuzzy msgid "Click to close" -msgstr "Klikšķiniet, lai apturētu" +msgstr "Klikšķiniet, lai aizvērtu" #: js/functions.js:1048 msgid "Edit action" -msgstr "Rediģēt darbību" +msgstr "Mainīt darbību" #: js/functions.js:1085 msgid "Create Filter" msgstr "Izveidot filtru" #: js/functions.js:1215 -msgid "Reset subscription? Tiny Tiny RSS will try to subscribe to the notification hub again on next feed update." -msgstr "Atstatīt pasūtīšanu? Tiny Tiny RSS mēģinās savākt informāciju no šīs barotnes kārtējā atjaunojuma laikā." +msgid "" +"Reset subscription? Tiny Tiny RSS will try to subscribe to the notification " +"hub again on next feed update." +msgstr "" +"Atstatīt pasūtīšanu? Tiny Tiny RSS mēģinās savākt informāciju no šīs " +"barotnes kārtējā atjaunojuma laikā." #: js/functions.js:1226 -#, fuzzy msgid "Subscription reset." -msgstr "Abonēt barotni..." +msgstr "Barotnes pārstatīšana." -#: js/functions.js:1236 -#: js/tt-rss.js:678 +#: js/functions.js:1236 js/tt-rss.js:678 #, perl-format msgid "Unsubscribe from %s?" msgstr "Atteikt pasūtījumu %s?" #: js/functions.js:1239 msgid "Removing feed..." -msgstr "" +msgstr "Pārsauc barotni..." #: js/functions.js:1346 msgid "Please enter category title:" @@ -2930,21 +2789,20 @@ msgstr "Izveidot jaunu šīs barotnes sindikācijas adresi?" #: js/functions.js:1381 msgid "Trying to change address..." -msgstr "" +msgstr "Mēģina izmainīt adresi..." -#: js/functions.js:1682 -#: js/functions.js:1792 -#: js/prefs.js:414 -#: js/prefs.js:444 -#: js/prefs.js:476 -#: js/prefs.js:629 -#: js/prefs.js:649 +#: js/functions.js:1682 js/functions.js:1792 js/prefs.js:414 js/prefs.js:444 +#: js/prefs.js:476 js/prefs.js:629 js/prefs.js:649 msgid "No feeds are selected." msgstr "Nav izvēlēta barotne" #: js/functions.js:1724 -msgid "Remove selected feeds from the archive? Feeds with stored articles will not be removed." -msgstr "Dzēst izvēlētās barotnes no arhīva? Barotnes, kurās ir raksti, netiks dzēstas." +msgid "" +"Remove selected feeds from the archive? Feeds with stored articles will not " +"be removed." +msgstr "" +"Dzēst izvēlētās barotnes no arhīva? Barotnes, kurās ir raksti, netiks " +"dzēstas." #: js/functions.js:1763 msgid "Feeds with update errors" @@ -2955,13 +2813,12 @@ msgid "Remove selected feeds?" msgstr "Dzēst izvēlētās barotnes?" #: js/functions.js:1777 -#, fuzzy msgid "Removing selected feeds..." -msgstr "Dzēst izvēlētās barotnes?" +msgstr "Dzēš izvēlētās barotnes..." #: js/PrefFeedTree.js:48 msgid "Edit category" -msgstr "Rediģēt kategoriju" +msgstr "Mainīt kategoriju" #: js/PrefFeedTree.js:55 msgid "Remove category" @@ -2980,62 +2837,55 @@ msgid "Can't create user: no login specified." msgstr "Neizdevās izveidot lietotāju: netika norādīts pieteikšanās vārds." #: js/prefs.js:66 -#, fuzzy msgid "Adding user..." -msgstr "Pievieno filtru..." +msgstr "Pievieno lietotāju..." #: js/prefs.js:94 msgid "User Editor" msgstr "Lietotāja redaktors" -#: js/prefs.js:99 -#: js/prefs.js:211 -#: js/prefs.js:736 -#: plugins/instances/instances.js:26 -#: plugins/instances/instances.js:89 -#, fuzzy +#: js/prefs.js:99 js/prefs.js:211 js/prefs.js:736 +#: plugins/instances/instances.js:26 plugins/instances/instances.js:89 msgid "Saving data..." -msgstr "Saglabāt datus" +msgstr "Saglabā datus..." #: js/prefs.js:134 msgid "Edit Filter" -msgstr "Rediģēt filtru" +msgstr "Mainīt filtru" #: js/prefs.js:181 msgid "Remove filter?" msgstr "Dzēst filtru?" #: js/prefs.js:186 -#, fuzzy msgid "Removing filter..." -msgstr "Pievieno filtru..." +msgstr "Dzēš filtru..." #: js/prefs.js:296 msgid "Remove selected labels?" msgstr "Dzēst izvēlētās etiķetes?" #: js/prefs.js:299 -#, fuzzy msgid "Removing selected labels..." -msgstr "Dzēst izvēlētās etiķetes?" +msgstr "Dzēš izvēlētās etiķetes..." #: js/prefs.js:312 msgid "No labels are selected." msgstr "Nav izvēlēta etiķete." #: js/prefs.js:326 -msgid "Remove selected users? Neither default admin nor your account will be removed." -msgstr "Dzēst izvēlētos lietotājus? Netiks dzēsts ne jūsu konts, ne arī noklusētais administratora konts." +msgid "" +"Remove selected users? Neither default admin nor your account will be " +"removed." +msgstr "" +"Dzēst izvēlētos lietotājus? Netiks dzēsts ne jūsu konts, ne arī noklusētais " +"administratora konts." #: js/prefs.js:329 -#, fuzzy msgid "Removing selected users..." -msgstr "Dzēst izvēlētos filtrus?" +msgstr "Dzēš izvēlētos lietotājus..." -#: js/prefs.js:343 -#: js/prefs.js:487 -#: js/prefs.js:508 -#: js/prefs.js:547 +#: js/prefs.js:343 js/prefs.js:487 js/prefs.js:508 js/prefs.js:547 msgid "No users are selected." msgstr "Nav izvēlēts lietotājs." @@ -3044,24 +2894,20 @@ msgid "Remove selected filters?" msgstr "Dzēst izvēlētos filtrus?" #: js/prefs.js:364 -#, fuzzy msgid "Removing selected filters..." -msgstr "Dzēst izvēlētos filtrus?" +msgstr "Dzēš izvēlētos filtrus..." -#: js/prefs.js:376 -#: js/prefs.js:584 -#: js/prefs.js:603 +#: js/prefs.js:376 js/prefs.js:584 js/prefs.js:603 msgid "No filters are selected." msgstr "Nav izvēlēts filtrs." #: js/prefs.js:395 msgid "Unsubscribe from selected feeds?" -msgstr "Atteikties no izvēlētajām barotnēm?" +msgstr "Dzēst izvēlēto barotni?" #: js/prefs.js:399 -#, fuzzy msgid "Unsubscribing from selected feeds..." -msgstr "Atcelt izvēlēto barotņu pasūtīšanu" +msgstr "Atrakstās no izvēlētajām barotnēm..." #: js/prefs.js:429 msgid "Please select only one feed." @@ -3072,22 +2918,18 @@ msgid "Erase all non-starred articles in selected feed?" msgstr "Dzēst visus nezvaigžņotos rakstus norādītajā barotnē?" #: js/prefs.js:438 -#, fuzzy msgid "Clearing selected feed..." -msgstr "Rediģēt izvēlētās barotnes" +msgstr "Attīra izvēlēto barotni..." #: js/prefs.js:457 msgid "How many days of articles to keep (0 - use default)?" msgstr "Cik dienas saglabāt rakstus (0 – noklusētais laiks)?" #: js/prefs.js:460 -#, fuzzy msgid "Purging selected feed..." -msgstr "Rediģēt izvēlētās barotnes" +msgstr "Dzēš izvēlēto barotni..." -#: js/prefs.js:492 -#: js/prefs.js:513 -#: js/prefs.js:552 +#: js/prefs.js:492 js/prefs.js:513 js/prefs.js:552 msgid "Please select only one user." msgstr "Lūdzu izvēlieties tikai vienu lietotāju." @@ -3096,9 +2938,8 @@ msgid "Reset password of selected user?" msgstr "Atstatīt izvēlētā lietotāja paroli?" #: js/prefs.js:520 -#, fuzzy msgid "Resetting password for selected user..." -msgstr "Atstatīt izvēlētā lietotāja paroli?" +msgstr "Atstata izvēlētā lietotāja paroli..." #: js/prefs.js:565 msgid "User details" @@ -3113,13 +2954,12 @@ msgid "Combine selected filters?" msgstr "Apvienot izvēlētos filtrus?" #: js/prefs.js:610 -#, fuzzy msgid "Joining filters..." -msgstr "Pievieno filtru..." +msgstr "Apvieno filtrus..." #: js/prefs.js:671 msgid "Edit Multiple Feeds" -msgstr "Rediģēt vairākus filtrus" +msgstr "Mainīt vairākus filtrus" #: js/prefs.js:695 msgid "Save changes to selected feeds?" @@ -3133,12 +2973,10 @@ msgstr "OPML imports" msgid "Please choose an OPML file first." msgstr "Lūdzu vispirms norādiet OPML failu." -#: js/prefs.js:802 -#: plugins/import_export/import_export.js:115 +#: js/prefs.js:802 plugins/import_export/import_export.js:115 #: plugins/googlereaderimport/init.js:45 -#, fuzzy msgid "Importing, please wait..." -msgstr "Ielādē, lūdzu gaidiet..." +msgstr "Importē, lūdzu gaidiet..." #: js/prefs.js:969 msgid "Reset to defaults?" @@ -3154,37 +2992,33 @@ msgstr "Attīrīt šī spraudņa saglabātos datus?" #: js/prefs.js:1792 msgid "Clear all messages in the error log?" -msgstr "" +msgstr "Izdzēst visus ziņojumus kļūdu žurnālā?" #: 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:133 -#, fuzzy msgid "Marking all feeds as read..." -msgstr "Atzīmēt visas barotnes kā lasītas" +msgstr "Atzīmē visas barotnes kā lasītas..." #: js/tt-rss.js:385 msgid "Please enable mail plugin first." -msgstr "Lūdzu, vispirmi iespējojiet e-pasta spraudni." +msgstr "Lūdzu, vispirmi ieslēdziet e-pasta spraudni." -#: js/tt-rss.js:426 -#: js/tt-rss.js:659 +#: js/tt-rss.js:426 js/tt-rss.js:659 msgid "You can't edit this kind of feed." -msgstr "Jūs nevarat rediģēt šāda veida barotni." +msgstr "Jūs nevarat mainīt šāda veida barotni." #: js/tt-rss.js:497 -#, fuzzy msgid "Please enable embed_original plugin first." -msgstr "Lūdzu, vispirmi iespējojiet e-pasta spraudni." +msgstr "Lūdzu, vispirms ieslēdziet embeded_original spraudni." #: js/tt-rss.js:667 msgid "You can't unsubscribe from the category." msgstr "Jūs nevarat atteikties no kategorijas." -#: js/tt-rss.js:672 -#: js/tt-rss.js:825 +#: js/tt-rss.js:672 js/tt-rss.js:825 msgid "Please select some feed first." msgstr "Lūdzu, vispirms norādiet barotni." @@ -3198,9 +3032,8 @@ msgid "Rescore articles in %s?" msgstr "Pārvērtēt rakstus %s?" #: js/tt-rss.js:833 -#, fuzzy msgid "Rescoring articles..." -msgstr "Pārvērtēt rakstus" +msgstr "Pārvērtē rakstus..." #: js/viewfeed.js:476 msgid "Unstar article" @@ -3219,75 +3052,71 @@ msgid "Publish article" msgstr "Publicēt rakstu" #: js/viewfeed.js:690 -#, fuzzy, perl-format +#, perl-format msgid "%d article selected" msgid_plural "%d articles selected" -msgstr[0] "Nav izvēlēts raksts." -msgstr[1] "Nav izvēlēts raksts." +msgstr[0] "izvēlēts %d raksts" +msgstr[1] "izvēlēti %d raksti" -#: js/viewfeed.js:762 -#: js/viewfeed.js:790 -#: js/viewfeed.js:1038 -#: js/viewfeed.js:1081 -#: js/viewfeed.js:1134 -#: js/viewfeed.js:2289 -#: plugins/mailto/init.js:7 -#: plugins/mail/mail.js:7 +#: js/viewfeed.js:762 js/viewfeed.js:790 js/viewfeed.js:1038 +#: js/viewfeed.js:1081 js/viewfeed.js:1134 js/viewfeed.js:2289 +#: plugins/mailto/init.js:7 plugins/mail/mail.js:7 msgid "No articles are selected." msgstr "Nav norādīts raksts." #: js/viewfeed.js:1046 -#, fuzzy, perl-format +#, perl-format 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[0] "Dzēst %d izvēlēto rakstu %s?" msgstr[1] "Dzēst %d izvēlētos rakstus %s?" #: js/viewfeed.js:1048 -#, fuzzy, perl-format +#, perl-format msgid "Delete %d selected article?" msgid_plural "Delete %d selected articles?" -msgstr[0] "Dzēst %d izvēlētos rakstus?" +msgstr[0] "Dzēst %d izvēlēto rakstu?" msgstr[1] "Dzēst %d izvēlētos rakstus?" #: js/viewfeed.js:1090 -#, fuzzy, perl-format +#, perl-format 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[0] "Arhivēt %d izvēlēto rakstu %s?" msgstr[1] "Arhivēt %d izvēlētos rakstus %s?" #: js/viewfeed.js:1093 -#, fuzzy, perl-format +#, perl-format msgid "Move %d archived article back?" msgid_plural "Move %d archived articles back?" -msgstr[0] "Pārvietot %d arhivētos rakstus atpakaļ?" +msgstr[0] "Pārvietot %d arhivēto rakstu atpakaļ?" msgstr[1] "Pārvietot %d arhivētos rakstus atpakaļ?" #: js/viewfeed.js:1095 -msgid "Please note that unstarred articles might get purged on next feed update." +msgid "" +"Please note that unstarred articles might get purged on next feed update." msgstr "" +"Lūdzu ņemiet vērā, ka nezvaigžņotie raksti pēc nākamā atjaunojuma var tikt " +"dzēsti." #: js/viewfeed.js:1140 -#, fuzzy, perl-format +#, perl-format 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[0] "Atzīmēt %d izvēlēto rakstu %s kā lasītu?" msgstr[1] "Atzīmēt %d izvēlētos rakstus %s kā lasītus?" #: js/viewfeed.js:1164 msgid "Edit article Tags" -msgstr "Rediģēt rakstu iezīmes" +msgstr "Mainīt rakstu iezīmes" #: js/viewfeed.js:1170 -#, fuzzy msgid "Saving article tags..." -msgstr "Rediģēt rakstu iezīmes" +msgstr "Saglabā rakstu iezīmes..." #: js/viewfeed.js:1326 -#, fuzzy msgid "Click to open next unread feed." -msgstr "Klikšķiniet, lai rediģētu" +msgstr "Klikšķiniet, lai atvērtu nākamo nelasīto barotni." #: js/viewfeed.js:1984 msgid "Open original article" @@ -3302,14 +3131,12 @@ msgid "Remove label" msgstr "Dzēst etiķeti" #: js/viewfeed.js:2182 -#, fuzzy msgid "Select articles in group" -msgstr "Iezīmēt rakstu zem peles kursora" +msgstr "Izvēlēties grupas rakstus" #: js/viewfeed.js:2191 -#, fuzzy msgid "Mark group as read" -msgstr "Atzīmēt kā lasītu" +msgstr "Atzīmēt grupu kā lasītu" #: js/viewfeed.js:2203 msgid "Mark feed as read" @@ -3324,30 +3151,37 @@ msgid "Please enter new score for this article:" msgstr "Ievadiet jaunu vērtējumu šim rakstam:" #: js/viewfeed.js:2333 -#, fuzzy msgid "Article URL:" -msgstr "Visus rakstus" +msgstr "Raksta vietrādis:" #: plugins/embed_original/init.js:6 msgid "Sorry, your browser does not support sandboxed iframes." msgstr "" +"Piedodiet, jūsu pārlūkprogramma neatbalsta iegultos rāmjus (iframe) smilšu " +"kastē." -#: plugins/mailto/init.js:21 -#: plugins/mail/mail.js:21 -#, fuzzy +#: plugins/mailto/init.js:21 plugins/mail/mail.js:21 msgid "Forward article by email" -msgstr "Pārsūtīt e-pastā" +msgstr "Pārsūtīt rakstu pa e-pastu" #: plugins/import_export/import_export.js:13 msgid "Export Data" msgstr "Eksportēt datus" #: plugins/import_export/import_export.js:40 -#, fuzzy, perl-format -msgid "Finished, exported %d article. You can download the data here." -msgid_plural "Finished, exported %d articles. You can download the data here." -msgstr[0] "Pabeigts. Eksportēti %d raksti. Jūs varat lejuplādēt datus šeit." -msgstr[1] "Pabeigts. Eksportēti %d raksti. Jūs varat lejuplādēt datus šeit." +#, perl-format +msgid "" +"Finished, exported %d article. You can download the data here." +msgid_plural "" +"Finished, exported %d articles. You can download the data here." +msgstr[0] "" +"Pabeigts. Eksportēts %d raksts. Jūs varat lejuplādēt datus šeit." +msgstr[1] "" +"Pabeigts. Eksportēti %d raksti. Jūs varat lejuplādēt datus šeit." #: plugins/import_export/import_export.js:93 msgid "Data Import" @@ -3359,102 +3193,93 @@ msgstr "Lūdzu vispirms norādiet failu." #: plugins/mail/mail.js:36 msgid "Error sending email:" -msgstr "" +msgstr "Kļūda sūtot e-pastu:" #: plugins/mail/mail.js:38 -#, fuzzy msgid "Your message has been sent." -msgstr "Jūsu personīgie dati ir saglabāti." +msgstr "Jūsu ziņojums ir nosūtīts." #: plugins/note/note.js:17 -#, fuzzy msgid "Saving article note..." -msgstr "Rediģēt raksta piezīmes" +msgstr "Saglabā raksta piezīmes..." #: plugins/shorten_expanded/init.js:37 -#, fuzzy msgid "Click to expand article" -msgstr "Iezīmēt nelasītos rakstus" +msgstr "Klikšķiniet, lai izvērstu rakstu" #: plugins/googlereaderimport/init.js:18 msgid "Google Reader Import" -msgstr "" +msgstr "Google Reader Imports" #: plugins/googlereaderimport/init.js:42 -#, fuzzy msgid "Please choose a file first." -msgstr "Lūdzu vispirms norādiet failu." +msgstr "Lūdzu, vispirms norādiet failu." #: plugins/instances/instances.js:10 -#, fuzzy msgid "Link Instance" -msgstr "Saites instance" +msgstr "Saistīt instanci" #: plugins/instances/instances.js:73 -#, fuzzy msgid "Edit Instance" -msgstr "Instance" +msgstr "Mainīt instanci" #: plugins/instances/instances.js:122 -#, fuzzy msgid "Remove selected instances?" -msgstr "Dzēst izvēlētos filtrus?" +msgstr "Dzēst izvēlētās instances?" #: plugins/instances/instances.js:125 -#, fuzzy msgid "Removing selected instances..." -msgstr "Dzēst izvēlētos filtrus?" +msgstr "Dzēš izvēlētās instances..." -#: plugins/instances/instances.js:139 -#: plugins/instances/instances.js:151 -#, fuzzy +#: plugins/instances/instances.js:139 plugins/instances/instances.js:151 msgid "No instances are selected." -msgstr "Nav izvēlēts filtrs." +msgstr "Nav izvēlēta neviena instance." #: plugins/instances/instances.js:156 -#, fuzzy msgid "Please select only one instance." -msgstr "Lūdzu izvēlieties tikai vienu filtru." +msgstr "Lūdzu, izvēlieties tikai vienu instanci." #: plugins/share/share_prefs.js:3 msgid "This will invalidate all previously shared article URLs. Continue?" -msgstr "Tas padarīs nederīgus visu iepriekš izveidoto kopīgoto rakstu URLus. Turpināt?" +msgstr "" +"Tas padarīs nederīgus visu iepriekš izveidoto kopīgoto rakstu URLus. " +"Turpināt?" #: plugins/share/share_prefs.js:6 msgid "Clearing URLs..." -msgstr "" +msgstr "Attīra vietrāžus..." #: plugins/share/share_prefs.js:13 msgid "Shared URLs cleared." -msgstr "" +msgstr "Kopīgotie vietrāži attīrīti." #: plugins/share/share.js:10 -#, fuzzy msgid "Share article by URL" -msgstr "Kopīgot ar URL" +msgstr "Kopīgot rakstu ar vietrādi" #: plugins/share/share.js:14 -#, fuzzy msgid "Generate new share URL for this article?" -msgstr "Ievadiet jaunu vērtējumu šim rakstam:" +msgstr "Izveidot šim rakstam jaunu vietrādi?" #: plugins/share/share.js:18 msgid "Trying to change URL..." -msgstr "" +msgstr "Mēģinu mainīt vietrādi..." #: plugins/share/share.js:55 -#, fuzzy msgid "Remove sharing for this article?" -msgstr "Rediģēt šī raksta iezīmes" +msgstr "Dzēst šī raksta kopīgojumu?" #: plugins/share/share.js:59 msgid "Trying to unshare..." -msgstr "" +msgstr "Mēģinu atkopīgot..." #: plugins/updater/updater.js:58 -#, fuzzy -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 "" +"Backup your tt-rss directory before continuing. Please type 'yes' to " +"continue." +msgstr "" +"Lūdzu, pirms turpināt izveidojiet jūsu tt-rss rezerves kopiju. Ievadiet " +"'yes', lai turpinātu." #~ msgid "Mark all articles in %s as read?" #~ msgstr "Vai atzīmēt visus rakstus %s kā lasītus?" @@ -3512,7 +3337,7 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #, fuzzy #~ msgid "Expand to select feed" -#~ msgstr "Rediģēt izvēlētās barotnes" +#~ msgstr "Mainīt izvēlētās barotnes" #~ msgid "Couldn't download the specified URL: %s" #~ msgstr "Neizdevās lejuplādēt norādīto URL: %s" @@ -3521,10 +3346,10 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgstr "Jūs jau esat pasūtījis šo barotni." #~ msgid "Edit rule" -#~ msgstr "Rediģēt likumu" +#~ msgstr "Mainīt likumu" #~ msgid "Edit Feed" -#~ msgstr "Rediģēt barotni" +#~ msgstr "Mainīt barotni" #~ msgid "More Feeds" #~ msgstr "Vairāk barotnes" @@ -3532,19 +3357,22 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgid "Help" #~ msgstr "Palīdzība" -#~ msgid "Remove category %s? Any nested feeds would be placed into Uncategorized." -#~ msgstr "Dzēst kategoriju %s? Visas iekļautās barotnes tiks pārvietotas uz Nekategorizēts kategoriju." +#~ msgid "" +#~ "Remove category %s? Any nested feeds would be placed into Uncategorized." +#~ msgstr "" +#~ "Dzēst kategoriju %s? Visas iekļautās barotnes tiks pārvietotas uz " +#~ "Nekategorizēts kategoriju." #, fuzzy #~ msgid "Removing category..." -#~ msgstr "Dzēst kategoriju" +#~ msgstr "Dzēst kategoriju..." #~ msgid "Remove selected categories?" #~ msgstr "Dzēst izvēlētās kategorijas?" #, fuzzy #~ msgid "Removing selected categories..." -#~ msgstr "Dzēst izvēlētās kategorijas?" +#~ msgstr "Dzēš izvēlētās kategorijas..." #~ msgid "No categories are selected." #~ msgstr "Nav izvēlēta kategorija." @@ -3564,21 +3392,21 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #, fuzzy #~ msgid "Clearing feed..." -#~ msgstr "Dzēst barotņu datus" +#~ msgstr "Dzēš barotņu datus..." #~ msgid "Rescore articles in selected feeds?" #~ msgstr "Atjaunot rakstus izvēlētajās barotnēs?" #, fuzzy #~ msgid "Rescoring selected feeds..." -#~ msgstr "Atjaunot rakstus izvēlētajās barotnēs?" +#~ msgstr "Atjauno rakstus izvēlētajās barotnēs..." #~ msgid "Rescore all articles? This operation may take a lot of time." #~ msgstr "Pārvērtēt visus rakstus? Tas var prasīt ilgu laiku." #, fuzzy #~ msgid "Rescoring feeds..." -#~ msgstr "Pārvērtēt barotni" +#~ msgstr "Pārvērtē barotni..." #~ msgid "Reset selected labels to default colors?" #~ msgstr "Atstatīt iezīmētās etiķetes uz noklusētajām krāsām?" @@ -3586,12 +3414,14 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgid "Settings Profiles" #~ msgstr "Profilu iestatījumi" -#~ msgid "Remove selected profiles? Active and default profiles will not be removed." -#~ msgstr "Dzēst izvēlētos profilus? Aktīvie un noklusētie profili netiks dzēsti." +#~ msgid "" +#~ "Remove selected profiles? Active and default profiles will not be removed." +#~ msgstr "" +#~ "Dzēst izvēlētos profilus? Aktīvie un noklusētie profili netiks dzēsti." #, fuzzy #~ msgid "Removing selected profiles..." -#~ msgstr "Dzēst iezīmētos profilus" +#~ msgstr "Dzēš iezīmētos profilus..." #~ msgid "No profiles are selected." #~ msgstr "Nav izvēlēts profils." @@ -3604,10 +3434,11 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #, fuzzy #~ msgid "Creating profile..." -#~ msgstr "Izveidot profilu" +#~ msgstr "Izveido profilu..." #~ msgid "This will invalidate all previously generated feed URLs. Continue?" -#~ msgstr "Tas padarīs nederīgus visu iepriekš izveidoto barotņu URLus. Turpināt?" +#~ msgstr "" +#~ "Tas padarīs nederīgus visu iepriekš izveidoto barotņu URLus. Turpināt?" #, fuzzy #~ msgid "Generated URLs cleared." @@ -3634,7 +3465,7 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #, 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[0] "Iezīmēt %d rakstu kā lasītu?" #~ msgstr[1] "Iezīmēt %d rakstus kā lasītus?" #, fuzzy @@ -3661,7 +3492,7 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #, fuzzy #~ msgid "Saving user..." -#~ msgstr "Pievieno filtru..." +#~ msgstr "Pievieno lietotāju..." #, fuzzy #~ msgid "Toggle marked" @@ -3680,7 +3511,9 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ 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." +#~ 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" @@ -3702,7 +3535,7 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgstr "Atvērt parasto versiju" #~ msgid "Enable categories" -#~ msgstr "Iespējot kategorijas" +#~ msgstr "Ieslēgt kategorijas" #~ msgid "ON" #~ msgstr "IESL." @@ -3737,7 +3570,7 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #, 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[0] "Iezīmēt %d rakstu kā lasītu?" #~ msgstr[1] "Iezīmēt %d rakstus kā lasītus?" #, fuzzy @@ -3756,7 +3589,7 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgstr "Pārslēgties uz īssavilkumu..." #~ msgid "Show tag cloud..." -#~ msgstr "Radīt birku mākoni..." +#~ msgstr "Radīt iezīmju mākoni..." #~ msgid "Click to play" #~ msgstr "Klikšķiniet, lai atskaņotu" @@ -3771,15 +3604,18 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgstr "Izvēlieties tēmu" #~ msgid "I have scanned the code and would like to enable OTP" -#~ msgstr "Esmu noskenējis šo kodu un vēlos iespējot vienreizlietojamo paroli" +#~ msgstr "Esmu noskenējis šo kodu un vēlos ieslēgt vienreizlietojamo paroli" #~ msgid "Playing..." #~ msgstr "Atskaņo..." #, fuzzy -#~ msgid "Could not upload file. You might need to adjust upload_max_filesize in PHP.ini (current value = %s)" +#~ msgid "" +#~ "Could not upload file. You might need to adjust upload_max_filesize in " +#~ "PHP.ini (current value = %s)" #~ msgstr "" -#~ "Neizdevās augšuplādēt failu. Iespējams, jums ir jāpielāgo upload_max_filesize iestatījums\n" +#~ "Neizdevās augšuplādēt failu. Iespējams, jums ir jāpielāgo " +#~ "upload_max_filesize iestatījums\n" #~ "\t\t\t\tPHP.ini failā (tekošā vērtība = %s)" #~ msgid "Default interval between feed updates" @@ -3800,8 +3636,12 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgid "Please backup your database before proceeding." #~ msgstr "Lūdzu pirms turpināšanas atjaunojiet datu bāzi." -#~ msgid "Your Tiny Tiny RSS database needs update to the latest version (%d to %d)." -#~ msgstr "Jūsu Tiny Tiny RSS datubāzi ir nepieciešams atjaunot uz jaunāko versiju (no %d uz %d)." +#~ msgid "" +#~ "Your Tiny Tiny RSS database needs update to the latest version (%d " +#~ "to %d)." +#~ msgstr "" +#~ "Jūsu Tiny Tiny RSS datubāzi ir nepieciešams atjaunot uz jaunāko versiju " +#~ "(no %d uz %d)." #~ msgid "Performing updates..." #~ msgstr "Izpildu atjaunojumus..." @@ -3820,7 +3660,8 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #, fuzzy #~ msgid "Finished. Performed %d update up to schema version %d." -#~ msgid_plural "Finished. Performed %d updates up to schema version %d." +#~ msgid_plural "" +#~ "Finished. Performed %d updates up to schema version %d." #~ msgstr[0] "" #~ "Pabeigts. Izpildīju %d shēmas atjaunojumu(s)\n" #~ "\t\t\tversija %d." @@ -3834,14 +3675,22 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgid "Found schema version: %d, required: %d." #~ msgstr "Atradu shēmu ar versiju: %d, nepieciešama: %d." -#~ msgid "Schema upgrade impossible. Please update Tiny Tiny RSS files to the newer version and continue." -#~ msgstr "Nav iespējams veikt shēmas atjaunošanu. Lūdzu, pirms turpiniet, atjaunojiet Tiny Tiny RSS failus uz jaunāku versiju." +#~ msgid "" +#~ "Schema upgrade impossible. Please update Tiny Tiny RSS files to the newer " +#~ "version and continue." +#~ msgstr "" +#~ "Nav iespējams veikt shēmas atjaunošanu. Lūdzu, pirms turpiniet, " +#~ "atjaunojiet Tiny Tiny RSS failus uz jaunāku versiju." #~ msgid "Enable external API" -#~ msgstr "Iespējot ārēju API" +#~ msgstr "Ieslēgt ārēju API" -#~ msgid "When this option is enabled, headlines in Special feeds and Labels are grouped by feeds" -#~ msgstr "Ja šī iespēja ir ieslēgta, īpašo barotņu un iezīmju virsraksti tiek grupēti pēc barotnēm" +#~ msgid "" +#~ "When this option is enabled, headlines in Special feeds and Labels are " +#~ "grouped by feeds" +#~ msgstr "" +#~ "Ja šī iespēja ir ieslēgta, īpašo barotņu un iezīmju virsraksti tiek " +#~ "grupēti pēc barotnēm" #~ msgid "Title or Content" #~ msgstr "Virsraksts vai saturs" @@ -3867,8 +3716,14 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgid "Modify score" #~ msgstr "Mainīt novērtējumu" -#~ 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 "Šī ir vērtīga iespēja, ja izmantojat planētas tipa agregatorus ar parklājošiem datiem. Kad tas ir atslēgts, tas no visām līdzīgām barotnēm parāda tikai vienu unikālu rakstu." +#~ 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 "" +#~ "Šī ir vērtīga iespēja, ja izmantojat planētas tipa agregatorus ar " +#~ "parklājošiem datiem. Kad tas ir atslēgts, tas no visām līdzīgām barotnēm " +#~ "parāda tikai vienu unikālu rakstu." #~ msgid "Date syntax appears to be correct:" #~ msgstr "Datuma sintakse ir pareiza:" @@ -3889,7 +3744,7 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgstr "Novērtējums" #~ msgid "Enable the options you wish to apply using checkboxes on the right:" -#~ msgstr "Iespējojiet iespējas, iezīmējot izvēles rūtiņas labajā pusē:" +#~ msgstr "Ieslēdziet iespējas, iezīmējot izvēles rūtiņas labajā pusē:" #~ msgid "New articles available in this feed (click to show)" #~ msgstr "Šajā barotnē pieejami jauni raksti (klikšķiniet, lai parādītu)" @@ -3920,14 +3775,17 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgid "Back to feeds" #~ msgstr "Atpakaļ uz barotnēm" -#~ msgid "This will clear your stored authentication information for Twitter. Continue?" +#~ msgid "" +#~ "This will clear your stored authentication information for Twitter. " +#~ "Continue?" #~ msgstr "Tas izdēsīs jūsu Twitter autentifikācijas informāciju. Turpināt?" #~ msgid "Updated" #~ msgstr "Atjaunotos" #~ msgid "Finished: %d articles processed, %d imported, %d feeds created." -#~ msgstr "Pabeigts: %d apstrādāti raksti, %d importēti, %d izveidotas barotnes." +#~ msgstr "" +#~ "Pabeigts: %d apstrādāti raksti, %d importēti, %d izveidotas barotnes." #~ msgid "Related" #~ msgstr "Saistīts" @@ -3990,13 +3848,17 @@ msgstr "Lūdzu neaizveriet logu līdz ir pabeigta atjaunošana. Pirms turpināt, #~ msgstr "25 barotņu tops" #~ msgid "Edit feed categories" -#~ msgstr "Rediģēt barotņu kategorijas" +#~ msgstr "Mainīt barotņu kategorijas" #~ msgid "Focus search (if present)" #~ msgstr "Fokusēt meklēšanu (ja ir)" -#~ msgid "Note: not all actions may be available, depending on Tiny Tiny RSS configuration and your access level." -#~ msgstr "Piezīme: iespējams, ka visas darbības nav pieejamas, atkarībā no Tiny Tiny RSS iestatījumiem un jūsu pieejas tiesībām." +#~ msgid "" +#~ "Note: not all actions may be available, depending on Tiny Tiny RSS " +#~ "configuration and your access level." +#~ msgstr "" +#~ "Piezīme: iespējams, ka visas darbības nav pieejamas, atkarībā no " +#~ "Tiny Tiny RSS iestatījumiem un jūsu pieejas tiesībām." #~ msgid "Fatal: authentication module %s not found." #~ msgstr "Fatāla kļūda: netika atrasts autentifikācijas modulis %s." diff --git a/source/plugins/af_comics/filters/af_comics_dilbert.php b/source/plugins/af_comics/filters/af_comics_dilbert.php index f0e31cf..67d9788 100644 --- a/source/plugins/af_comics/filters/af_comics_dilbert.php +++ b/source/plugins/af_comics/filters/af_comics_dilbert.php @@ -6,23 +6,33 @@ class Af_Comics_Dilbert extends Af_ComicFilter { } function process(&$article) { - $owner_uid = $article["owner_uid"]; - if (strpos($article["guid"], "dilbert.com") !== FALSE) { + $res = fetch_file_contents($article["link"], false, false, false, + false, false, 0, + "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"); + + global $fetch_last_error_content; + + if (!$res && $fetch_last_error_content) + $res = $fetch_last_error_content; + $doc = new DOMDocument(); - @$doc->loadHTML(fetch_file_contents($article["link"])); + @$doc->loadHTML($res); $basenode = false; if ($doc) { $xpath = new DOMXPath($doc); - $entries = $xpath->query('(//img[@src])'); // we might also check for img[@class='strip'] I guess... + + $basenode = $xpath->query('//div[@class="STR_Image"]')->item(0); + + /* $entries = $xpath->query('(//img[@src])'); // we might also check for img[@class='strip'] I guess... $matches = array(); foreach ($entries as $entry) { - if (preg_match("/dyn\/str_strip\/.*zoom\.gif$/", $entry->getAttribute("src"), $matches)) { + if (preg_match("/dyn\/str_strip\/.*strip\.gif$/", $entry->getAttribute("src"), $matches)) { $entry->setAttribute("src", rewrite_relative_url("http://dilbert.com/", @@ -31,7 +41,7 @@ class Af_Comics_Dilbert extends Af_ComicFilter { $basenode = $entry; break; } - } + } */ if ($basenode) { $article["content"] = $doc->saveXML($basenode); diff --git a/source/plugins/af_comics/filters/af_comics_pa.php b/source/plugins/af_comics/filters/af_comics_pa.php index a13857c..0848adb 100644 --- a/source/plugins/af_comics/filters/af_comics_pa.php +++ b/source/plugins/af_comics/filters/af_comics_pa.php @@ -56,7 +56,9 @@ class Af_Comics_Pa extends Af_ComicFilter { if ($header->parentNode) { $header->parentNode->removeChild($header); } $avatar = $xpath->query('(//div[@class="avatar"]//img)')->item(0); - $basenode->insertBefore($avatar, $basenode->firstChild); + + if ($basenode) + $basenode->insertBefore($avatar, $basenode->firstChild); $uninteresting = $xpath->query('(//div[@class="avatar"])'); foreach ($uninteresting as $i) { diff --git a/source/plugins/af_comics/filters/af_comics_tfd.php b/source/plugins/af_comics/filters/af_comics_tfd.php new file mode 100644 index 0000000..c4e5945 --- /dev/null +++ b/source/plugins/af_comics/filters/af_comics_tfd.php @@ -0,0 +1,32 @@ +loadHTML(fetch_file_contents($article["link"])); + + $basenode = false; + + if ($doc) { + $xpath = new DOMXPath($doc); + $basenode = $xpath->query('//img[@class="comic"]')->item(0); + + if ($basenode) { + $article["content"] = $doc->saveXML($basenode); + return true; + } + } + } + + return false; + } +} +?> diff --git a/source/plugins/af_tumblr_1280/init.php b/source/plugins/af_tumblr_1280/init.php new file mode 100644 index 0000000..f993804 --- /dev/null +++ b/source/plugins/af_tumblr_1280/init.php @@ -0,0 +1,79 @@ +host = $host; + + if (function_exists("curl_init")) { + $host->add_hook($host::HOOK_ARTICLE_FILTER, $this); + } + } + + function hook_article_filter($article) { + + $owner_uid = $article["owner_uid"]; + + $charset_hack = ' + + '; + + $doc = new DOMDocument(); + $doc->loadHTML($charset_hack . $article["content"]); + + $found = false; + + if ($doc) { + $xpath = new DOMXpath($doc); + + $images = $xpath->query('(//img[contains(@src, \'media.tumblr.com\')])'); + + foreach ($images as $img) { + $src = $img->getAttribute("src"); + + $test_src = preg_replace("/_\d{3}.(jpg|gif|png)/", "_1280.$1", $src); + + if ($src != $test_src) { + + $ch = curl_init($test_src); + curl_setopt($ch, CURLOPT_TIMEOUT, 5); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_HEADER, true); + curl_setopt($ch, CURLOPT_NOBODY, true); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, + !ini_get("safe_mode") && !ini_get("open_basedir")); + curl_setopt($ch, CURLOPT_USERAGENT, SELF_USER_AGENT); + + @$result = curl_exec($ch); + $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); + + if ($result && $http_code == 200) { + $img->setAttribute("src", $test_src); + $found = true; + } + } + } + + if ($found) { + $doc->removeChild($doc->firstChild); //remove doctype + $article["content"] = $doc->saveHTML(); + } + } + + return $article; + + } + + + function api_version() { + return 2; + } + +} +?> diff --git a/source/plugins/af_zz_imgsetsizes/init.php b/source/plugins/af_zz_imgsetsizes/init.php new file mode 100644 index 0000000..d71ec09 --- /dev/null +++ b/source/plugins/af_zz_imgsetsizes/init.php @@ -0,0 +1,88 @@ +host = $host; + + if (function_exists("curl_init") && function_exists("getimagesize")) { + $host->add_hook($host::HOOK_ARTICLE_FILTER, $this); + } + } + + function hook_article_filter($article) { + + $owner_uid = $article["owner_uid"]; + + $charset_hack = ' + + '; + + $doc = new DOMDocument(); + $doc->loadHTML($charset_hack . $article["content"]); + + $found = false; + + if ($doc) { + $xpath = new DOMXpath($doc); + + $images = $xpath->query('(//img[@src])'); + + foreach ($images as $img) { + $src = $img->getAttribute("src"); + + $ch = curl_init($src); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); + curl_setopt($ch, CURLOPT_RANGE, "0-32768"); + + @$result = curl_exec($ch); + $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); + + if ($result && ($http_code == 200 || $http_code == 206)) { + $filename = tempnam(sys_get_temp_dir(), "ttsizecheck"); + + if ($filename) { + $fh = fopen($filename, "w"); + if ($fh) { + fwrite($fh, $result); + fclose($fh); + + @$info = getimagesize($filename); + + if ($info && $info[0] > 0 && $info[1] > 0) { + $img->setAttribute("width", $info[0]); + $img->setAttribute("height", $info[1]); + $found = true; + } + + unlink($filename); + } + } + } + } + + if ($found) { + $doc->removeChild($doc->firstChild); //remove doctype + $article["content"] = $doc->saveHTML(); + } + } + + return $article; + + } + + + function api_version() { + return 2; + } + +} +?> diff --git a/source/plugins/auth_remote/init.php b/source/plugins/auth_remote/init.php index 626eebc..2ec2c87 100644 --- a/source/plugins/auth_remote/init.php +++ b/source/plugins/auth_remote/init.php @@ -69,16 +69,6 @@ class Auth_Remote extends Plugin implements IAuthModule { db_query("UPDATE ttrss_users SET email = '$email' WHERE id = " . $user_id); } - // update user password to allow api access - if (isset($_SERVER['PHP_AUTH_PW'])){ - $currentpassword = $_SERVER['PHP_AUTH_PW']; - $new_salt = substr(bin2hex(get_random_bytes(125)), 0, 250); - $new_password_hash = encrypt_password($currentpassword, $new_salt, true); - - db_query("UPDATE ttrss_users SET - pwd_hash = '$new_password_hash', salt = '$new_salt', otp_enabled = false - WHERE login = '$try_login'"); - } } return $user_id; diff --git a/source/plugins/auth_remote/init.php.ynh b/source/plugins/auth_remote/init.php.ynh new file mode 100644 index 0000000..626eebc --- /dev/null +++ b/source/plugins/auth_remote/init.php.ynh @@ -0,0 +1,97 @@ +host = $host; + $this->base = new Auth_Base(); + + $host->add_hook($host::HOOK_AUTH_USER, $this); + } + + function get_login_by_ssl_certificate() { + $cert_serial = db_escape_string(get_ssl_certificate_id()); + + if ($cert_serial) { + $result = db_query("SELECT login FROM ttrss_user_prefs, ttrss_users + WHERE pref_name = 'SSL_CERT_SERIAL' AND value = '$cert_serial' AND + owner_uid = ttrss_users.id"); + + if (db_num_rows($result) != 0) { + return db_escape_string(db_fetch_result($result, 0, "login")); + } + } + + return ""; + } + + + function authenticate($login, $password) { + $try_login = db_escape_string($_SERVER["REMOTE_USER"]); + + // php-cgi + if (!$try_login) $try_login = db_escape_string($_SERVER["REDIRECT_REMOTE_USER"]); + + if (!$try_login) $try_login = $this->get_login_by_ssl_certificate(); +# if (!$try_login) $try_login = "test_qqq"; + + if ($try_login) { + $user_id = $this->base->auto_create_user($try_login, $password); + + if ($user_id) { + $_SESSION["fake_login"] = $try_login; + $_SESSION["fake_password"] = "******"; + $_SESSION["hide_hello"] = true; + $_SESSION["hide_logout"] = true; + + // LemonLDAP can send user informations via HTTP HEADER + if (defined('AUTH_AUTO_CREATE') && AUTH_AUTO_CREATE){ + // update user name + $fullname = $_SERVER['HTTP_USER_NAME'] ? $_SERVER['HTTP_USER_NAME'] : $_SERVER['AUTHENTICATE_CN']; + if ($fullname){ + $fullname = db_escape_string($fullname); + db_query("UPDATE ttrss_users SET full_name = '$fullname' WHERE id = " . + $user_id); + } + // update user mail + $email = $_SERVER['HTTP_USER_MAIL'] ? $_SERVER['HTTP_USER_MAIL'] : $_SERVER['AUTHENTICATE_MAIL']; + if ($email){ + $email = db_escape_string($email); + db_query("UPDATE ttrss_users SET email = '$email' WHERE id = " . + $user_id); + } + // update user password to allow api access + if (isset($_SERVER['PHP_AUTH_PW'])){ + $currentpassword = $_SERVER['PHP_AUTH_PW']; + $new_salt = substr(bin2hex(get_random_bytes(125)), 0, 250); + $new_password_hash = encrypt_password($currentpassword, $new_salt, true); + + db_query("UPDATE ttrss_users SET + pwd_hash = '$new_password_hash', salt = '$new_salt', otp_enabled = false + WHERE login = '$try_login'"); + } + } + + return $user_id; + } + } + + return false; + } + + function api_version() { + return 2; + } + +} + +?> diff --git a/source/plugins/no_iframes/init.php b/source/plugins/no_iframes/init.php index c66d7ab..35f7187 100644 --- a/source/plugins/no_iframes/init.php +++ b/source/plugins/no_iframes/init.php @@ -4,7 +4,7 @@ class No_Iframes extends Plugin { function about() { return array(1.0, - "Remove embedded iframes", + "Remove embedded iframes (unless whitelisted)", "fox"); } @@ -16,7 +16,13 @@ class No_Iframes extends Plugin { function hook_sanitize($doc, $site_url, $allowed_elements, $disallowed_attributes) { - $allowed_elements = array_diff($allowed_elements, array("iframe")); + $xpath = new DOMXpath($doc); + $entries = $xpath->query('//iframe'); + + foreach ($entries as $entry) { + if (!iframe_whitelisted($entry)) + $entry->parentNode->removeChild($entry); + } return array($doc, $allowed_elements, $disallowed_attributes); } diff --git a/source/prefs.php b/source/prefs.php index 6a83295..191f452 100644 --- a/source/prefs.php +++ b/source/prefs.php @@ -41,7 +41,7 @@ - +
diff --git a/source/schema/TTRSS_schema_mysql.sql b/source/schema/TTRSS_schema_mysql.sql index aae0abf..a9a3582 100644 --- a/source/schema/TTRSS_schema_mysql.sql +++ b/source/schema/TTRSS_schema_mysql.sql @@ -44,7 +44,6 @@ create table ttrss_users (id integer primary key not null auto_increment, pwd_hash varchar(250) not null, last_login datetime default null, access_level integer not null default 0, - theme_id integer default null, email varchar(250) not null default '', full_name varchar(250) not null default '', email_digest bool not null default false, @@ -53,7 +52,7 @@ create table ttrss_users (id integer primary key not null auto_increment, created datetime default null, twitter_oauth longtext default null, otp_enabled boolean not null default false, - index (theme_id)) ENGINE=InnoDB DEFAULT CHARSET=UTF8; + resetpass_token varchar(250) default null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; insert into ttrss_users (login,pwd_hash,access_level) values ('admin', 'SHA1:5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8', 10); @@ -302,7 +301,7 @@ create table ttrss_tags (id integer primary key auto_increment, create table ttrss_version (schema_version int not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; -insert into ttrss_version values (123); +insert into ttrss_version values (126); create table ttrss_enclosures (id integer primary key auto_increment, content_url text not null, @@ -310,6 +309,8 @@ create table ttrss_enclosures (id integer primary key auto_increment, post_id integer not null, title text not null, duration text not null, + width integer not null default 0, + height integer not null default 0, index (post_id), foreign key (post_id) references ttrss_entries(id) ON DELETE cascade) ENGINE=InnoDB DEFAULT CHARSET=UTF8; diff --git a/source/themes/night.css b/source/themes/night.css index 5ab3c5b..78b73f0 100644 --- a/source/themes/night.css +++ b/source/themes/night.css @@ -3,12 +3,17 @@ body#ttrssMain #feeds-holder { background : #222; border-color : #666; + border-left-width : 1px; } body#ttrssMain #headlines-frame { border-color : #ddd; } +body#ttrssMain div.whiteBox { + border-color : #666; +} + body#ttrssMain #content-insert { background : #333; } @@ -132,6 +137,7 @@ body#ttrssMain #feedTree img, body#ttrssMain .postContent img { filter: grayscale(1); -webkit-filter: grayscale(1); + filter: url("data:image/svg+xml;utf8,#grayscale"); // firefox lol } body#ttrssMain .hl img.hlScorePic { diff --git a/source/update.php.ynh b/source/update.php.ynh new file mode 100755 index 0000000..4254ff0 --- /dev/null +++ b/source/update.php.ynh @@ -0,0 +1,359 @@ +#!/usr/bin/env php +get_commands() as $command => $data) { + array_push($longopts, $command . $data["suffix"]); + } + + $options = getopt("", $longopts); + + if (!is_array($options)) { + die("error: getopt() failed. ". + "Most probably you are using PHP CGI to run this script ". + "instead of required PHP CLI. Check tt-rss wiki page on updating feeds for ". + "additional information.\n"); + } + + if (count($options) == 0 && !defined('STDIN')) { + ?> + + Tiny Tiny RSS data update script. + + + + + + +

+ + + + + get_commands() as $command => $data) { + $args = $data['arghelp']; + printf(" --%-19s - %s\n", "$command $args", $data["description"]); + } + + return; + } + + if (!isset($options['daemon'])) { + require_once "errorhandler.php"; + } + + if (!isset($options['update-schema'])) { + $schema_version = get_schema_version(); + + if ($schema_version != SCHEMA_VERSION) { + die("Schema version is wrong, please upgrade the database.\n"); + } + } + + define('QUIET', isset($options['quiet'])); + + if (isset($options["log"])) { + _debug("Logging to " . $options["log"]); + define('LOGFILE', $options["log"]); + } + + if (!isset($options["daemon"])) { + $lock_filename = "update.lock"; + } else { + $lock_filename = "update_daemon.lock"; + } + + if (isset($options["task"])) { + _debug("Using task id " . $options["task"]); + $lock_filename = $lock_filename . "-task_" . $options["task"]; + } + + if (isset($options["pidlock"])) { + $my_pid = $options["pidlock"]; + $lock_filename = "update_daemon-$my_pid.lock"; + + } + + _debug("Lock: $lock_filename"); + + $lock_handle = make_lockfile($lock_filename); + $must_exit = false; + + if (isset($options["task"]) && isset($options["pidlock"])) { + $waits = $options["task"] * 5; + _debug("Waiting before update ($waits)"); + sleep($waits); + } + + // Try to lock a file in order to avoid concurrent update. + if (!$lock_handle) { + die("error: Can't create lockfile ($lock_filename). ". + "Maybe another update process is already running.\n"); + } + + if (isset($options["force-update"])) { + _debug("marking all feeds as needing update..."); + + db_query( "UPDATE ttrss_feeds SET last_update_started = '1970-01-01', + last_updated = '1970-01-01'"); + } + + if (isset($options["feeds"])) { + update_daemon_common(); + housekeeping_common(true); + + PluginHost::getInstance()->run_hooks(PluginHost::HOOK_UPDATE_TASK, "hook_update_task", $op); + } + + if (isset($options["feedbrowser"])) { + $count = update_feedbrowser_cache(); + print "Finished, $count feeds processed.\n"; + } + + if (isset($options["daemon"])) { + while (true) { + $quiet = (isset($options["quiet"])) ? "--quiet" : ""; + $log = isset($options['log']) ? '--log '.$options['log'] : ''; + + passthru(PHP_EXECUTABLE . " " . $argv[0] ." --daemon-loop $quiet $log"); + _debug("Sleeping for " . DAEMON_SLEEP_INTERVAL . " seconds..."); + sleep(DAEMON_SLEEP_INTERVAL); + } + } + + if (isset($options["daemon-loop"])) { + if (!make_stampfile('update_daemon.stamp')) { + _debug("warning: unable to create stampfile\n"); + } + + update_daemon_common(isset($options["pidlock"]) ? 50 : DAEMON_FEED_LIMIT); + + 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["cleanup-tags"])) { + $rc = cleanup_tags( 14, 50000); + _debug("$rc tags deleted.\n"); + } + + if (isset($options["indexes"])) { + _debug("PLEASE BACKUP YOUR DATABASE BEFORE PROCEEDING!"); + _debug("Type 'yes' to continue."); + + if (read_stdin() != 'yes') + exit; + + _debug("clearing existing indexes..."); + + if (DB_TYPE == "pgsql") { + $result = db_query( "SELECT relname FROM + pg_catalog.pg_class WHERE relname LIKE 'ttrss_%' + AND relname NOT LIKE '%_pkey' + AND relkind = 'i'"); + } else { + $result = db_query( "SELECT index_name,table_name FROM + information_schema.statistics WHERE index_name LIKE 'ttrss_%'"); + } + + while ($line = db_fetch_assoc($result)) { + if (DB_TYPE == "pgsql") { + $statement = "DROP INDEX " . $line["relname"]; + _debug($statement); + } else { + $statement = "ALTER TABLE ". + $line['table_name']." DROP INDEX ".$line['index_name']; + _debug($statement); + } + db_query( $statement, false); + } + + _debug("reading indexes from schema for: " . DB_TYPE); + + $fp = fopen("schema/ttrss_schema_" . DB_TYPE . ".sql", "r"); + if ($fp) { + while ($line = fgets($fp)) { + $matches = array(); + + if (preg_match("/^create index ([^ ]+) on ([^ ]+)$/i", $line, $matches)) { + $index = $matches[1]; + $table = $matches[2]; + + $statement = "CREATE INDEX $index ON $table"; + + _debug($statement); + db_query( $statement); + } + } + fclose($fp); + } else { + _debug("unable to open schema file."); + } + _debug("all done."); + } + + if (isset($options["convert-filters"])) { + _debug("WARNING: this will remove all existing type2 filters."); + _debug("Type 'yes' to continue."); + + if (read_stdin() != 'yes') + exit; + + _debug("converting filters..."); + + db_query( "DELETE FROM ttrss_filters2"); + + $result = db_query( "SELECT * FROM ttrss_filters ORDER BY id"); + + while ($line = db_fetch_assoc($result)) { + $owner_uid = $line["owner_uid"]; + + // date filters are removed + if ($line["filter_type"] != 5) { + $filter = array(); + + if (sql_bool_to_bool($line["cat_filter"])) { + $feed_id = "CAT:" . (int)$line["cat_id"]; + } else { + $feed_id = (int)$line["feed_id"]; + } + + $filter["enabled"] = $line["enabled"] ? "on" : "off"; + $filter["rule"] = array( + json_encode(array( + "reg_exp" => $line["reg_exp"], + "feed_id" => $feed_id, + "filter_type" => $line["filter_type"]))); + + $filter["action"] = array( + json_encode(array( + "action_id" => $line["action_id"], + "action_param_label" => $line["action_param"], + "action_param" => $line["action_param"]))); + + // Oh god it's full of hacks + + $_REQUEST = $filter; + $_SESSION["uid"] = $owner_uid; + + $filters = new Pref_Filters($_REQUEST); + $filters->add(); + } + } + + } + + if (isset($options["update-schema"])) { + _debug("checking for updates (" . DB_TYPE . ")..."); + + $updater = new DbUpdater(Db::get(), DB_TYPE, SCHEMA_VERSION); + + if ($updater->isUpdateRequired()) { + _debug("schema update required, version " . $updater->getSchemaVersion() . " to " . SCHEMA_VERSION); + _debug("WARNING: please backup your database before continuing."); + _debug("Type 'yes' to continue."); + + //if (read_stdin() != 'yes') + // exit; + + for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { + _debug("performing update up to version $i..."); + + $result = $updater->performUpdateTo($i); + + _debug($result ? "OK!" : "FAILED!"); + + if (!$result) return; + + } + } else { + _debug("update not required."); + } + + } + + if (isset($options["list-plugins"])) { + $tmppluginhost = new PluginHost(); + $tmppluginhost->load_all($tmppluginhost::KIND_ALL); + $enabled = array_map("trim", explode(",", PLUGINS)); + + echo "List of all available plugins:\n"; + + foreach ($tmppluginhost->get_plugins() as $name => $plugin) { + $about = $plugin->about(); + + $status = $about[3] ? "system" : "user"; + + if (in_array($name, $enabled)) $name .= "*"; + + printf("%-50s %-10s v%.2f (by %s)\n%s\n\n", + $name, $status, $about[0], $about[2], $about[1]); + } + + echo "Plugins marked by * are currently enabled for all users.\n"; + + } + + PluginHost::getInstance()->run_commands($options); + + if (file_exists(LOCK_DIRECTORY . "/$lock_filename")) + unlink(LOCK_DIRECTORY . "/$lock_filename"); +?> From 2f38f6ef3dab3736300e50c90521ba0338aac0d8 Mon Sep 17 00:00:00 2001 From: abeudin Date: Thu, 22 Jan 2015 18:11:31 +0100 Subject: [PATCH 10/22] Update install --- scripts/install | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index 0241d23..fadffed 100644 --- a/scripts/install +++ b/scripts/install @@ -26,8 +26,7 @@ final_path=/var/www/ttrss sudo mkdir -p $final_path sudo cp -r ../source/* $final_path sudo cp ../conf/config.php $final_path/ -sudo cp ../conf/ttrss.diff $final_path/ -sudo patch -p0 $final_path/ttrss.diff +sudo patch -d $final_path -p0 < ..conf/ttrss.diff # Change variables in ttrss configuration From f60be8d89709c1f4c9b61b18ca4d7c1971427447 Mon Sep 17 00:00:00 2001 From: abeudin Date: Thu, 22 Jan 2015 18:12:54 +0100 Subject: [PATCH 11/22] Update upgrade --- scripts/upgrade | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 753ddbb..286f118 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -5,20 +5,13 @@ path=$(sudo yunohost app setting ttrss path) db_user=ttrss db_pwd=$(sudo yunohost app setting ttrss mysqlpwd) -<<<<<<< HEAD -======= -#db_file=../source/schema/versions/mysql/$(ls -vr ../source/schema/versions/mysql | head -1) - -#mysql -u $db_user -p$db_pwd $db_user < $db_file ->>>>>>> f6f84fd2b073b67a92eaed31b51016470a2e0d4e final_path=/var/www/ttrss sudo mkdir -p $final_path sudo cp -a ../source/* $final_path sudo cp ../conf/config.php $final_path/ -sudo cp ../conf/ttrss.diff $final_path/ -sudo patch -p0 $final_path/ttrss.diff +sudo patch -d $final_path -p0 < ..conf/ttrss.diff # Change variables in ttrss configuration From 19f326161e8a4153dbd5246ae07fe88d8e26d787 Mon Sep 17 00:00:00 2001 From: abeudin Date: Thu, 22 Jan 2015 18:40:42 +0100 Subject: [PATCH 12/22] Update upgrade --- scripts/upgrade | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 286f118..fe7e276 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -11,7 +11,8 @@ sudo mkdir -p $final_path sudo cp -a ../source/* $final_path sudo cp ../conf/config.php $final_path/ -sudo patch -d $final_path -p0 < ..conf/ttrss.diff +sudo cp ../conf/ttrss.diff /tmp/ +sudo patch -d $final_path -p0 < /tmp/ttrss.diff # Change variables in ttrss configuration From 0d740a714c6569dd1b007547c41c3517e8f26e13 Mon Sep 17 00:00:00 2001 From: abeudin Date: Thu, 22 Jan 2015 18:40:56 +0100 Subject: [PATCH 13/22] Update install --- scripts/install | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index fadffed..7f15244 100644 --- a/scripts/install +++ b/scripts/install @@ -26,7 +26,8 @@ final_path=/var/www/ttrss sudo mkdir -p $final_path sudo cp -r ../source/* $final_path sudo cp ../conf/config.php $final_path/ -sudo patch -d $final_path -p0 < ..conf/ttrss.diff +sudo cp ../conf/ttrss.diff /tmp/ +sudo patch -d $final_path -p0 < /tmp/ttrss.diff # Change variables in ttrss configuration From 34e80ed1d41c086161026f8ac06ac4a61e21bd47 Mon Sep 17 00:00:00 2001 From: abeudin Date: Thu, 22 Jan 2015 18:49:20 +0100 Subject: [PATCH 14/22] Update ttrss.diff --- conf/ttrss.diff | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/conf/ttrss.diff b/conf/ttrss.diff index 9c6795c..fa7e2f8 100644 --- a/conf/ttrss.diff +++ b/conf/ttrss.diff @@ -4,10 +4,10 @@ _debug("WARNING: please backup your database before continuing."); _debug("Type 'yes' to continue."); -- //if (read_stdin() != 'yes') -- // exit; -+ if (read_stdin() != 'yes') -+ exit; +- if (read_stdin() != 'yes') +- exit; ++ //if (read_stdin() != 'yes') ++ // exit; for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { _debug("performing update up to version $i..."); @@ -18,16 +18,16 @@ db_query("UPDATE ttrss_users SET email = '$email' WHERE id = " . $user_id); } -- // update user password to allow api access -- if (isset($_SERVER['PHP_AUTH_PW'])){ -- $currentpassword = $_SERVER['PHP_AUTH_PW']; -- $new_salt = substr(bin2hex(get_random_bytes(125)), 0, 250); -- $new_password_hash = encrypt_password($currentpassword, $new_salt, true); -- -- db_query("UPDATE ttrss_users SET -- pwd_hash = '$new_password_hash', salt = '$new_salt', otp_enabled = false -- WHERE login = '$try_login'"); -- } ++ // update user password to allow api access ++ if (isset($_SERVER['PHP_AUTH_PW'])){ ++ $currentpassword = $_SERVER['PHP_AUTH_PW']; ++ $new_salt = substr(bin2hex(get_random_bytes(125)), 0, 250); ++ $new_password_hash = encrypt_password($currentpassword, $new_salt, true); ++ ++ db_query("UPDATE ttrss_users SET ++ pwd_hash = '$new_password_hash', salt = '$new_salt', otp_enabled = false ++ WHERE login = '$try_login'"); ++ } } return $user_id; From ffe7ab2367fae945575ac75765bf2da059703172 Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Fri, 20 Feb 2015 09:47:33 +0100 Subject: [PATCH 15/22] update patch --- conf/init.patch | 21 ++ conf/update.patch | 21 ++ scripts/install | 3 +- scripts/upgrade | 4 +- source/plugins/auth_remote/init.php.ynh | 97 ------- source/update.php | 4 +- source/update.php.ynh | 359 ------------------------ 7 files changed, 48 insertions(+), 461 deletions(-) create mode 100644 conf/init.patch create mode 100644 conf/update.patch delete mode 100644 source/plugins/auth_remote/init.php.ynh delete mode 100755 source/update.php.ynh diff --git a/conf/init.patch b/conf/init.patch new file mode 100644 index 0000000..2ae898d --- /dev/null +++ b/conf/init.patch @@ -0,0 +1,21 @@ +*** init.php 2015-01-22 17:56:31.641845090 +0100 +--- init.php.1 2015-02-20 09:23:16.515269911 +0100 +*************** +*** 69,74 **** +--- 69,84 ---- + db_query("UPDATE ttrss_users SET email = '$email' WHERE id = " . + $user_id); + } ++ // update user password to allow api access ++ if (isset($_SERVER['PHP_AUTH_PW'])){ ++ $currentpassword = $_SERVER['PHP_AUTH_PW']; ++ $new_salt = substr(bin2hex(get_random_bytes(125)), 0, 250); ++ $new_password_hash = encrypt_password($currentpassword, $new_salt, true); ++ ++ db_query("UPDATE ttrss_users SET ++ pwd_hash = '$new_password_hash', salt = '$new_salt', otp_enabled = false ++ WHERE login = '$try_login'"); ++ } + } + + return $user_id; diff --git a/conf/update.patch b/conf/update.patch new file mode 100644 index 0000000..863766f --- /dev/null +++ b/conf/update.patch @@ -0,0 +1,21 @@ +*** update.php 2015-02-20 09:41:40.231462387 +0100 +--- update.php.1 2015-02-20 09:42:07.911466665 +0100 +*************** +*** 311,318 **** + _debug("WARNING: please backup your database before continuing."); + _debug("Type 'yes' to continue."); + +! if (read_stdin() != 'yes') +! exit; + + for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { + _debug("performing update up to version $i..."); +--- 311,318 ---- + _debug("WARNING: please backup your database before continuing."); + _debug("Type 'yes' to continue."); + +! //if (read_stdin() != 'yes') +! // exit; + + for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { + _debug("performing update up to version $i..."); diff --git a/scripts/install b/scripts/install index 7f15244..8b40724 100644 --- a/scripts/install +++ b/scripts/install @@ -27,7 +27,8 @@ sudo mkdir -p $final_path sudo cp -r ../source/* $final_path sudo cp ../conf/config.php $final_path/ sudo cp ../conf/ttrss.diff /tmp/ -sudo patch -d $final_path -p0 < /tmp/ttrss.diff +sudo patch -d $final_path -p0 < /tmp/update.patch +sudo patch -d $final_path/plugins/auth_remote/ -p0 < /tmp/init.patch # Change variables in ttrss configuration diff --git a/scripts/upgrade b/scripts/upgrade index fe7e276..93e1f85 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -12,8 +12,8 @@ sudo mkdir -p $final_path sudo cp -a ../source/* $final_path sudo cp ../conf/config.php $final_path/ sudo cp ../conf/ttrss.diff /tmp/ -sudo patch -d $final_path -p0 < /tmp/ttrss.diff - +sudo patch -d $final_path -p0 < /tmp/update.patch +sudo patch -d $final_path/plugins/auth_remote/ -p0 < /tmp/init.patch # Change variables in ttrss configuration sudo sed -i "s/yunouser/$db_user/g" $final_path/config.php diff --git a/source/plugins/auth_remote/init.php.ynh b/source/plugins/auth_remote/init.php.ynh deleted file mode 100644 index 626eebc..0000000 --- a/source/plugins/auth_remote/init.php.ynh +++ /dev/null @@ -1,97 +0,0 @@ -host = $host; - $this->base = new Auth_Base(); - - $host->add_hook($host::HOOK_AUTH_USER, $this); - } - - function get_login_by_ssl_certificate() { - $cert_serial = db_escape_string(get_ssl_certificate_id()); - - if ($cert_serial) { - $result = db_query("SELECT login FROM ttrss_user_prefs, ttrss_users - WHERE pref_name = 'SSL_CERT_SERIAL' AND value = '$cert_serial' AND - owner_uid = ttrss_users.id"); - - if (db_num_rows($result) != 0) { - return db_escape_string(db_fetch_result($result, 0, "login")); - } - } - - return ""; - } - - - function authenticate($login, $password) { - $try_login = db_escape_string($_SERVER["REMOTE_USER"]); - - // php-cgi - if (!$try_login) $try_login = db_escape_string($_SERVER["REDIRECT_REMOTE_USER"]); - - if (!$try_login) $try_login = $this->get_login_by_ssl_certificate(); -# if (!$try_login) $try_login = "test_qqq"; - - if ($try_login) { - $user_id = $this->base->auto_create_user($try_login, $password); - - if ($user_id) { - $_SESSION["fake_login"] = $try_login; - $_SESSION["fake_password"] = "******"; - $_SESSION["hide_hello"] = true; - $_SESSION["hide_logout"] = true; - - // LemonLDAP can send user informations via HTTP HEADER - if (defined('AUTH_AUTO_CREATE') && AUTH_AUTO_CREATE){ - // update user name - $fullname = $_SERVER['HTTP_USER_NAME'] ? $_SERVER['HTTP_USER_NAME'] : $_SERVER['AUTHENTICATE_CN']; - if ($fullname){ - $fullname = db_escape_string($fullname); - db_query("UPDATE ttrss_users SET full_name = '$fullname' WHERE id = " . - $user_id); - } - // update user mail - $email = $_SERVER['HTTP_USER_MAIL'] ? $_SERVER['HTTP_USER_MAIL'] : $_SERVER['AUTHENTICATE_MAIL']; - if ($email){ - $email = db_escape_string($email); - db_query("UPDATE ttrss_users SET email = '$email' WHERE id = " . - $user_id); - } - // update user password to allow api access - if (isset($_SERVER['PHP_AUTH_PW'])){ - $currentpassword = $_SERVER['PHP_AUTH_PW']; - $new_salt = substr(bin2hex(get_random_bytes(125)), 0, 250); - $new_password_hash = encrypt_password($currentpassword, $new_salt, true); - - db_query("UPDATE ttrss_users SET - pwd_hash = '$new_password_hash', salt = '$new_salt', otp_enabled = false - WHERE login = '$try_login'"); - } - } - - return $user_id; - } - } - - return false; - } - - function api_version() { - return 2; - } - -} - -?> diff --git a/source/update.php b/source/update.php index 4254ff0..521b956 100755 --- a/source/update.php +++ b/source/update.php @@ -311,8 +311,8 @@ _debug("WARNING: please backup your database before continuing."); _debug("Type 'yes' to continue."); - //if (read_stdin() != 'yes') - // exit; + if (read_stdin() != 'yes') + exit; for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { _debug("performing update up to version $i..."); diff --git a/source/update.php.ynh b/source/update.php.ynh deleted file mode 100755 index 4254ff0..0000000 --- a/source/update.php.ynh +++ /dev/null @@ -1,359 +0,0 @@ -#!/usr/bin/env php -get_commands() as $command => $data) { - array_push($longopts, $command . $data["suffix"]); - } - - $options = getopt("", $longopts); - - if (!is_array($options)) { - die("error: getopt() failed. ". - "Most probably you are using PHP CGI to run this script ". - "instead of required PHP CLI. Check tt-rss wiki page on updating feeds for ". - "additional information.\n"); - } - - if (count($options) == 0 && !defined('STDIN')) { - ?> - - Tiny Tiny RSS data update script. - - - - - - -

- - - - - get_commands() as $command => $data) { - $args = $data['arghelp']; - printf(" --%-19s - %s\n", "$command $args", $data["description"]); - } - - return; - } - - if (!isset($options['daemon'])) { - require_once "errorhandler.php"; - } - - if (!isset($options['update-schema'])) { - $schema_version = get_schema_version(); - - if ($schema_version != SCHEMA_VERSION) { - die("Schema version is wrong, please upgrade the database.\n"); - } - } - - define('QUIET', isset($options['quiet'])); - - if (isset($options["log"])) { - _debug("Logging to " . $options["log"]); - define('LOGFILE', $options["log"]); - } - - if (!isset($options["daemon"])) { - $lock_filename = "update.lock"; - } else { - $lock_filename = "update_daemon.lock"; - } - - if (isset($options["task"])) { - _debug("Using task id " . $options["task"]); - $lock_filename = $lock_filename . "-task_" . $options["task"]; - } - - if (isset($options["pidlock"])) { - $my_pid = $options["pidlock"]; - $lock_filename = "update_daemon-$my_pid.lock"; - - } - - _debug("Lock: $lock_filename"); - - $lock_handle = make_lockfile($lock_filename); - $must_exit = false; - - if (isset($options["task"]) && isset($options["pidlock"])) { - $waits = $options["task"] * 5; - _debug("Waiting before update ($waits)"); - sleep($waits); - } - - // Try to lock a file in order to avoid concurrent update. - if (!$lock_handle) { - die("error: Can't create lockfile ($lock_filename). ". - "Maybe another update process is already running.\n"); - } - - if (isset($options["force-update"])) { - _debug("marking all feeds as needing update..."); - - db_query( "UPDATE ttrss_feeds SET last_update_started = '1970-01-01', - last_updated = '1970-01-01'"); - } - - if (isset($options["feeds"])) { - update_daemon_common(); - housekeeping_common(true); - - PluginHost::getInstance()->run_hooks(PluginHost::HOOK_UPDATE_TASK, "hook_update_task", $op); - } - - if (isset($options["feedbrowser"])) { - $count = update_feedbrowser_cache(); - print "Finished, $count feeds processed.\n"; - } - - if (isset($options["daemon"])) { - while (true) { - $quiet = (isset($options["quiet"])) ? "--quiet" : ""; - $log = isset($options['log']) ? '--log '.$options['log'] : ''; - - passthru(PHP_EXECUTABLE . " " . $argv[0] ." --daemon-loop $quiet $log"); - _debug("Sleeping for " . DAEMON_SLEEP_INTERVAL . " seconds..."); - sleep(DAEMON_SLEEP_INTERVAL); - } - } - - if (isset($options["daemon-loop"])) { - if (!make_stampfile('update_daemon.stamp')) { - _debug("warning: unable to create stampfile\n"); - } - - update_daemon_common(isset($options["pidlock"]) ? 50 : DAEMON_FEED_LIMIT); - - 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["cleanup-tags"])) { - $rc = cleanup_tags( 14, 50000); - _debug("$rc tags deleted.\n"); - } - - if (isset($options["indexes"])) { - _debug("PLEASE BACKUP YOUR DATABASE BEFORE PROCEEDING!"); - _debug("Type 'yes' to continue."); - - if (read_stdin() != 'yes') - exit; - - _debug("clearing existing indexes..."); - - if (DB_TYPE == "pgsql") { - $result = db_query( "SELECT relname FROM - pg_catalog.pg_class WHERE relname LIKE 'ttrss_%' - AND relname NOT LIKE '%_pkey' - AND relkind = 'i'"); - } else { - $result = db_query( "SELECT index_name,table_name FROM - information_schema.statistics WHERE index_name LIKE 'ttrss_%'"); - } - - while ($line = db_fetch_assoc($result)) { - if (DB_TYPE == "pgsql") { - $statement = "DROP INDEX " . $line["relname"]; - _debug($statement); - } else { - $statement = "ALTER TABLE ". - $line['table_name']." DROP INDEX ".$line['index_name']; - _debug($statement); - } - db_query( $statement, false); - } - - _debug("reading indexes from schema for: " . DB_TYPE); - - $fp = fopen("schema/ttrss_schema_" . DB_TYPE . ".sql", "r"); - if ($fp) { - while ($line = fgets($fp)) { - $matches = array(); - - if (preg_match("/^create index ([^ ]+) on ([^ ]+)$/i", $line, $matches)) { - $index = $matches[1]; - $table = $matches[2]; - - $statement = "CREATE INDEX $index ON $table"; - - _debug($statement); - db_query( $statement); - } - } - fclose($fp); - } else { - _debug("unable to open schema file."); - } - _debug("all done."); - } - - if (isset($options["convert-filters"])) { - _debug("WARNING: this will remove all existing type2 filters."); - _debug("Type 'yes' to continue."); - - if (read_stdin() != 'yes') - exit; - - _debug("converting filters..."); - - db_query( "DELETE FROM ttrss_filters2"); - - $result = db_query( "SELECT * FROM ttrss_filters ORDER BY id"); - - while ($line = db_fetch_assoc($result)) { - $owner_uid = $line["owner_uid"]; - - // date filters are removed - if ($line["filter_type"] != 5) { - $filter = array(); - - if (sql_bool_to_bool($line["cat_filter"])) { - $feed_id = "CAT:" . (int)$line["cat_id"]; - } else { - $feed_id = (int)$line["feed_id"]; - } - - $filter["enabled"] = $line["enabled"] ? "on" : "off"; - $filter["rule"] = array( - json_encode(array( - "reg_exp" => $line["reg_exp"], - "feed_id" => $feed_id, - "filter_type" => $line["filter_type"]))); - - $filter["action"] = array( - json_encode(array( - "action_id" => $line["action_id"], - "action_param_label" => $line["action_param"], - "action_param" => $line["action_param"]))); - - // Oh god it's full of hacks - - $_REQUEST = $filter; - $_SESSION["uid"] = $owner_uid; - - $filters = new Pref_Filters($_REQUEST); - $filters->add(); - } - } - - } - - if (isset($options["update-schema"])) { - _debug("checking for updates (" . DB_TYPE . ")..."); - - $updater = new DbUpdater(Db::get(), DB_TYPE, SCHEMA_VERSION); - - if ($updater->isUpdateRequired()) { - _debug("schema update required, version " . $updater->getSchemaVersion() . " to " . SCHEMA_VERSION); - _debug("WARNING: please backup your database before continuing."); - _debug("Type 'yes' to continue."); - - //if (read_stdin() != 'yes') - // exit; - - for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { - _debug("performing update up to version $i..."); - - $result = $updater->performUpdateTo($i); - - _debug($result ? "OK!" : "FAILED!"); - - if (!$result) return; - - } - } else { - _debug("update not required."); - } - - } - - if (isset($options["list-plugins"])) { - $tmppluginhost = new PluginHost(); - $tmppluginhost->load_all($tmppluginhost::KIND_ALL); - $enabled = array_map("trim", explode(",", PLUGINS)); - - echo "List of all available plugins:\n"; - - foreach ($tmppluginhost->get_plugins() as $name => $plugin) { - $about = $plugin->about(); - - $status = $about[3] ? "system" : "user"; - - if (in_array($name, $enabled)) $name .= "*"; - - printf("%-50s %-10s v%.2f (by %s)\n%s\n\n", - $name, $status, $about[0], $about[2], $about[1]); - } - - echo "Plugins marked by * are currently enabled for all users.\n"; - - } - - PluginHost::getInstance()->run_commands($options); - - if (file_exists(LOCK_DIRECTORY . "/$lock_filename")) - unlink(LOCK_DIRECTORY . "/$lock_filename"); -?> From b1d7a4b862e692cbba945fe7e8a28e5080174c17 Mon Sep 17 00:00:00 2001 From: abeudin Date: Fri, 20 Feb 2015 09:55:14 +0100 Subject: [PATCH 16/22] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 8b40724..c94d3bd 100644 --- a/scripts/install +++ b/scripts/install @@ -26,7 +26,7 @@ final_path=/var/www/ttrss sudo mkdir -p $final_path sudo cp -r ../source/* $final_path sudo cp ../conf/config.php $final_path/ -sudo cp ../conf/ttrss.diff /tmp/ +sudo cp ../conf/*.patch /tmp/ sudo patch -d $final_path -p0 < /tmp/update.patch sudo patch -d $final_path/plugins/auth_remote/ -p0 < /tmp/init.patch From c286f212a307fc7c4a3d83ca7d1ab73b11c8a5ec Mon Sep 17 00:00:00 2001 From: abeudin Date: Fri, 20 Feb 2015 09:59:58 +0100 Subject: [PATCH 17/22] Update install --- scripts/install | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/install b/scripts/install index c94d3bd..c33b3df 100644 --- a/scripts/install +++ b/scripts/install @@ -42,11 +42,20 @@ sudo chown root /etc/cron.d/ttrss sudo apt-get install php5-cli -y #add folder -sudo mkdir $final_path/cache/{export,images,upload,js} -sudo mkdir $final_path/{feed-icons,lock} - -sudo chmod -R 777 $final_path/cache/images && sudo chmod -R 777 $final_path/cache/upload && sudo chmod -R 777 $final_path/cache/export && sudo chmod -R 777 $final_path/cache/js && sudo chmod -R 777 $final_path/feed-icons && sudo chmod -R 777 $final_path/lock +for i in export images upload js +do + if [ ! -d $final_path/cache/$i ] + sudo mkdir $final_path/cache/$i + if + sudo chmod -R 777 $final_path/cache/$i +done +for i in feed-icons lock + if [ ! -d $final_path/$i ] + sudo mkdir $final_path/$i + fi + sudo chmod -R 777 $final_path/$i +done # Set permissions to ttrss directory sudo chown -R www-data: $final_path From 7769f1b8ef3e386382c47a6b06e1e3f73f425fc5 Mon Sep 17 00:00:00 2001 From: abeudin Date: Fri, 20 Feb 2015 10:01:19 +0100 Subject: [PATCH 18/22] Update install --- scripts/install | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/install b/scripts/install index c33b3df..d0f4214 100644 --- a/scripts/install +++ b/scripts/install @@ -51,6 +51,7 @@ do done for i in feed-icons lock +do if [ ! -d $final_path/$i ] sudo mkdir $final_path/$i fi From 73db3d5d0b385748c66a000a668c6336b8d31f37 Mon Sep 17 00:00:00 2001 From: abeudin Date: Fri, 20 Feb 2015 10:03:10 +0100 Subject: [PATCH 19/22] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index d0f4214..55abe73 100644 --- a/scripts/install +++ b/scripts/install @@ -46,7 +46,7 @@ for i in export images upload js do if [ ! -d $final_path/cache/$i ] sudo mkdir $final_path/cache/$i - if + fi sudo chmod -R 777 $final_path/cache/$i done From 8e439d7919a3479e19f81d77e1f3574a773b0e80 Mon Sep 17 00:00:00 2001 From: abeudin Date: Fri, 20 Feb 2015 10:03:58 +0100 Subject: [PATCH 20/22] Update install --- scripts/install | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index 55abe73..0e06370 100644 --- a/scripts/install +++ b/scripts/install @@ -44,7 +44,8 @@ sudo apt-get install php5-cli -y #add folder for i in export images upload js do - if [ ! -d $final_path/cache/$i ] + if [ ! -d $final_path/cache/$i ]; + then sudo mkdir $final_path/cache/$i fi sudo chmod -R 777 $final_path/cache/$i @@ -52,7 +53,8 @@ done for i in feed-icons lock do - if [ ! -d $final_path/$i ] + if [ ! -d $final_path/$i ]; + then sudo mkdir $final_path/$i fi sudo chmod -R 777 $final_path/$i From 28795403f29ba4542783c4083e2d89a71de5c15d Mon Sep 17 00:00:00 2001 From: abeudin Date: Fri, 20 Feb 2015 10:05:57 +0100 Subject: [PATCH 21/22] Update upgrade --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 93e1f85..3dd4cd1 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -11,7 +11,7 @@ sudo mkdir -p $final_path sudo cp -a ../source/* $final_path sudo cp ../conf/config.php $final_path/ -sudo cp ../conf/ttrss.diff /tmp/ +sudo cp ../conf/*.patch /tmp/ sudo patch -d $final_path -p0 < /tmp/update.patch sudo patch -d $final_path/plugins/auth_remote/ -p0 < /tmp/init.patch From 24282808684919c3564e96d3ac1132a3dfcb18e6 Mon Sep 17 00:00:00 2001 From: Adrien Beudin Date: Fri, 20 Feb 2015 10:11:44 +0100 Subject: [PATCH 22/22] remove old patch --- conf/ttrss.diff | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 conf/ttrss.diff diff --git a/conf/ttrss.diff b/conf/ttrss.diff deleted file mode 100644 index fa7e2f8..0000000 --- a/conf/ttrss.diff +++ /dev/null @@ -1,33 +0,0 @@ ---- update.php.ynh 2015-01-22 16:45:52.105737698 +0100 -+++ update.php 2015-01-22 16:43:09.977745715 +0100 -@@ -311,8 +311,8 @@ - _debug("WARNING: please backup your database before continuing."); - _debug("Type 'yes' to continue."); - -- if (read_stdin() != 'yes') -- exit; -+ //if (read_stdin() != 'yes') -+ // exit; - - for ($i = $updater->getSchemaVersion() + 1; $i <= SCHEMA_VERSION; $i++) { - _debug("performing update up to version $i..."); - ---- plugins/auth_remote/init.php.ynh 2015-01-22 16:50:51.653723599 +0100 -+++ plugins/auth_remote/init.php 2015-01-22 16:43:09.957745715 +0100 -@@ -69,16 +69,6 @@ - db_query("UPDATE ttrss_users SET email = '$email' WHERE id = " . - $user_id); - } -+ // update user password to allow api access -+ if (isset($_SERVER['PHP_AUTH_PW'])){ -+ $currentpassword = $_SERVER['PHP_AUTH_PW']; -+ $new_salt = substr(bin2hex(get_random_bytes(125)), 0, 250); -+ $new_password_hash = encrypt_password($currentpassword, $new_salt, true); -+ -+ db_query("UPDATE ttrss_users SET -+ pwd_hash = '$new_password_hash', salt = '$new_salt', otp_enabled = false -+ WHERE login = '$try_login'"); -+ } - } - - return $user_id;