mirror of
https://github.com/YunoHost-Apps/freshrss_ynh.git
synced 2024-09-03 18:36:33 +02:00
Test 1.3.2 beta installation
This commit is contained in:
parent
fa44b8812c
commit
2e307e59d5
425 changed files with 3394 additions and 624 deletions
|
@ -11,7 +11,7 @@
|
||||||
"name": "plopoyop",
|
"name": "plopoyop",
|
||||||
"email": "plopoyop@gmail.com"
|
"email": "plopoyop@gmail.com"
|
||||||
},
|
},
|
||||||
"multi_instance": "true",
|
"multi_instance": "false",
|
||||||
"services": [
|
"services": [
|
||||||
"nginx",
|
"nginx",
|
||||||
"php5-fpm",
|
"php5-fpm",
|
||||||
|
|
55
sources/CHANGELOG.md
Executable file → Normal file
55
sources/CHANGELOG.md
Executable file → Normal file
|
@ -1,5 +1,60 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2016-06-12 FreshRSS 1.3.2-beta
|
||||||
|
|
||||||
|
* Compatibility
|
||||||
|
* Require at least PHP 5.3+ (drop PHP 5.2) [#1133](https://github.com/FreshRSS/FreshRSS/pull/1133)
|
||||||
|
* Features
|
||||||
|
* Support for MySQL 5.7+ (e.g. Ubuntu 16.04 LTS) [#1132](https://github.com/FreshRSS/FreshRSS/pull/1132)
|
||||||
|
* Speed optimization for HTTP/2 [#1133](https://github.com/FreshRSS/FreshRSS/pull/1133)
|
||||||
|
* API support for REDIRECT_* HTTP headers (fcgi) [#1128](https://github.com/FreshRSS/FreshRSS/issues/1128)
|
||||||
|
* SimplePie
|
||||||
|
* Support for feeds with invalid whitespace [#1142](https://github.com/FreshRSS/FreshRSS/issues/1142)
|
||||||
|
* Bug fixing
|
||||||
|
* Fix bug when adding feeds with passwords [#1137](https://github.com/FreshRSS/FreshRSS/pull/1137)
|
||||||
|
* Fix validator link [#1147](https://github.com/FreshRSS/FreshRSS/pull/1147)
|
||||||
|
* Fix Favicon small bugs [#1135](https://github.com/FreshRSS/FreshRSS/pull/1135)
|
||||||
|
* Security
|
||||||
|
* CSP compatibility for homepage [#1120](https://github.com/FreshRSS/FreshRSS/pull/1120)
|
||||||
|
* I18n
|
||||||
|
* Draft of Russian [#1085](https://github.com/FreshRSS/FreshRSS/pull/1085)
|
||||||
|
* Misc.
|
||||||
|
* Change default feed timeout to 15 seconds [#1146](https://github.com/FreshRSS/FreshRSS/pull/1146)
|
||||||
|
* Updated Wallabag v2 [#1150](https://github.com/FreshRSS/FreshRSS/pull/1150)
|
||||||
|
|
||||||
|
|
||||||
|
## 2016-03-11 FreshRSS 1.3.1-beta
|
||||||
|
|
||||||
|
* Security
|
||||||
|
* Added CSP `Content-Security-Policy: default-src 'self'; child-src *; frame-src *; img-src * data:; media-src *` [#1075](https://github.com/FreshRSS/FreshRSS/issues/1075), [#1114](https://github.com/FreshRSS/FreshRSS/issues/1114)
|
||||||
|
* Added `X-Content-Type-Options: nosniff` [#1116](https://github.com/FreshRSS/FreshRSS/pull/1116)
|
||||||
|
* Cookie with `Secure` tag when used over HTTPS [#1117](https://github.com/FreshRSS/FreshRSS/pull/1117)
|
||||||
|
* Limit API post input to 1MB [#1118](https://github.com/FreshRSS/FreshRSS/pull/1118)
|
||||||
|
* Features
|
||||||
|
* New list of domains for which to force HTTPS (for images, videos, iframes…) defined in `./data/force-https.default.txt` and `./data/force-https.txt` [#1083](https://github.com/FreshRSS/FreshRSS/issues/1083)
|
||||||
|
* In particular useful for privacy and to avoid mixed content errors, e.g. to see YouTube videos when FreshRSS is in HTTPS
|
||||||
|
* Add sharing with “Journal du Hacker” [#1056](https://github.com/FreshRSS/FreshRSS/pull/1056)
|
||||||
|
* UI
|
||||||
|
* Updated to jQuery 2.2.1 and changed code for auto-load on scroll [#1050](https://github.com/FreshRSS/FreshRSS/pull/1050), [#1091](https://github.com/FreshRSS/FreshRSS/pull/1091)
|
||||||
|
* I18n
|
||||||
|
* Turkish [#1073](https://github.com/FreshRSS/FreshRSS/issues/1073)
|
||||||
|
* Bug fixing
|
||||||
|
* Fixed OPML import title bug [#1048](https://github.com/FreshRSS/FreshRSS/issues/1048)
|
||||||
|
* Fixed upgrade bug with SQLite when articles were marked as unread [#1049](https://github.com/FreshRSS/FreshRSS/issues/1049)
|
||||||
|
* Fixed error when deleting feeds from statistics page [#1047](https://github.com/FreshRSS/FreshRSS/issues/1047)
|
||||||
|
* Fixed several small bugs in global and reader view [#1050](https://github.com/FreshRSS/FreshRSS/pull/1050)
|
||||||
|
* Fixed sharing bug with PHP7 [#1072](https://github.com/FreshRSS/FreshRSS/issues/1072)
|
||||||
|
* Fixed fall-back when php-json is not installed [#1092](https://github.com/FreshRSS/FreshRSS/issues/1092)
|
||||||
|
* API
|
||||||
|
* Possibility to show only read items [#1035](https://github.com/FreshRSS/FreshRSS/pull/1035)
|
||||||
|
* Misc.
|
||||||
|
* Filters `<img />` attributes `srcset` and `sizes` [#1077](https://github.com/FreshRSS/FreshRSS/issues/1077), [#1086](https://github.com/FreshRSS/FreshRSS/pull/1086)
|
||||||
|
* Implement PubSubHubbub unsubscribe responses [#1058](https://github.com/FreshRSS/FreshRSS/issues/1058)
|
||||||
|
* Restored some compatibility with PHP 5.2 [#1055](https://github.com/FreshRSS/FreshRSS/issues/1055)
|
||||||
|
* Check for extension php-xml during install [#1094](https://github.com/FreshRSS/FreshRSS/issues/1094)
|
||||||
|
* Updated the sharing with Movim [#1030](https://github.com/FreshRSS/FreshRSS/pull/1030)
|
||||||
|
|
||||||
|
|
||||||
## 2015-11-03 FreshRSS 1.2.0 / 1.3.0-beta
|
## 2015-11-03 FreshRSS 1.2.0 / 1.3.0-beta
|
||||||
|
|
||||||
* Features
|
* Features
|
||||||
|
|
0
sources/CONTRIBUTING.md
Executable file → Normal file
0
sources/CONTRIBUTING.md
Executable file → Normal file
0
sources/CREDITS.md
Executable file → Normal file
0
sources/CREDITS.md
Executable file → Normal file
13
sources/README.fr.md
Executable file → Normal file
13
sources/README.fr.md
Executable file → Normal file
|
@ -31,14 +31,16 @@ Nous sommes une communauté amicale.
|
||||||
|
|
||||||
# Prérequis
|
# Prérequis
|
||||||
* Serveur modeste, par exemple sous Linux ou Windows
|
* Serveur modeste, par exemple sous Linux ou Windows
|
||||||
* Fonctionne même sur un Raspberry Pi avec des temps de réponse < 1s (testé sur 150 flux, 22k articles, soit 32Mo de données partiellement compressées)
|
* Fonctionne même sur un Raspberry Pi 1 avec des temps de réponse < 1s (testé sur 150 flux, 22k articles)
|
||||||
* Serveur Web Apache2 (recommandé), ou nginx, lighttpd (non testé sur les autres)
|
* Serveur Web Apache2 (recommandé), ou nginx, lighttpd (non testé sur les autres)
|
||||||
* PHP 5.2.1+ (PHP 5.3.7+ recommandé, et PHP 5.5+ pour les performances) (support bêta de PHP 7 avec encore meilleures performances)
|
* PHP 5.3+ (PHP 5.3.7+ recommandé, et PHP 5.5+ pour les performances, et PHP 7+ pour d’encore meilleures performances)
|
||||||
* Requis : [PDO_MySQL](http://php.net/pdo-mysql) ou [PDO_SQLite](http://php.net/pdo-sqlite), [cURL](http://php.net/curl), [GMP](http://php.net/gmp) (pour accès API sur plateformes < 64 bits), [IDN](http://php.net/intl.idn) (pour les noms de domaines internationalisés)
|
* Requis : [PDO_MySQL](http://php.net/pdo-mysql) ou [PDO_SQLite](http://php.net/pdo-sqlite), [cURL](http://php.net/curl), [GMP](http://php.net/gmp) (pour accès API sur plateformes < 64 bits), [IDN](http://php.net/intl.idn) (pour les noms de domaines internationalisés)
|
||||||
* Recommandés : [JSON](http://php.net/json), [mbstring](http://php.net/mbstring), [zlib](http://php.net/zlib), [Zip](http://php.net/zip)
|
* Recommandés : [iconv](http://php.net/iconv), [JSON](http://php.net/json), [mbstring](http://php.net/mbstring), [Zip](http://php.net/zip), [zlib](http://php.net/zlib)
|
||||||
|
* Inclus par défaut : [DOM](http://php.net/dom), [XML](http://php.net/xml)…
|
||||||
* MySQL 5.0.3+ (recommandé) ou SQLite 3.7.4+
|
* MySQL 5.0.3+ (recommandé) ou SQLite 3.7.4+
|
||||||
* Un navigateur Web récent tel Firefox, Chrome, Opera, Safari. [Internet Explorer ne fonctionne plus, mais ce sera corrigé](https://github.com/FreshRSS/FreshRSS/issues/772).
|
* Un navigateur Web récent tel Firefox, Chrome, Opera, Safari. [Internet Explorer ne fonctionne plus, mais ce sera corrigé](https://github.com/FreshRSS/FreshRSS/issues/772).
|
||||||
* Fonctionne aussi sur mobile
|
* Fonctionne aussi sur mobile
|
||||||
|
* L’entête HTTP `Referer` ne doit pas être désactivé pour pouvoir utiliser le formulaire de connexion
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
@ -50,6 +52,9 @@ Nous sommes une communauté amicale.
|
||||||
5. Tout devrait fonctionner :) En cas de problème, n’hésitez pas à me contacter.
|
5. Tout devrait fonctionner :) En cas de problème, n’hésitez pas à me contacter.
|
||||||
6. Des paramètres de configuration avancée peuvent être accédés depuis [config.php](./data/config.default.php).
|
6. Des paramètres de configuration avancée peuvent être accédés depuis [config.php](./data/config.default.php).
|
||||||
|
|
||||||
|
## Installation automatisée
|
||||||
|
[](https://dfabric.github.io/DPlatform-ShellCore)
|
||||||
|
|
||||||
## Exemple d’installation complète sur Linux Debian/Ubuntu
|
## Exemple d’installation complète sur Linux Debian/Ubuntu
|
||||||
```sh
|
```sh
|
||||||
# Si vous utilisez le serveur Web Apache (sinon il faut un autre serveur Web)
|
# Si vous utilisez le serveur Web Apache (sinon il faut un autre serveur Web)
|
||||||
|
@ -58,7 +63,7 @@ sudo a2enmod headers expires rewrite ssl
|
||||||
# (optionnel) Si vous voulez un serveur de base de données MySQL
|
# (optionnel) Si vous voulez un serveur de base de données MySQL
|
||||||
sudo apt-get install mysql-server mysql-client php5-mysql
|
sudo apt-get install mysql-server mysql-client php5-mysql
|
||||||
# Composants principaux (git est optionnel si vous déployez manuellement les fichiers d’installation)
|
# Composants principaux (git est optionnel si vous déployez manuellement les fichiers d’installation)
|
||||||
sudo apt-get install git php5 php5-curl php5-gd php5-intl php5-json php5-gmp php5-sqlite
|
sudo apt-get install git php5 php5-curl php5-gmp php5-intl php5-json php5-sqlite
|
||||||
# Redémarrage du serveur Web
|
# Redémarrage du serveur Web
|
||||||
sudo service apache2 restart
|
sudo service apache2 restart
|
||||||
|
|
||||||
|
|
13
sources/README.md
Executable file → Normal file
13
sources/README.md
Executable file → Normal file
|
@ -31,14 +31,16 @@ We are a friendly community.
|
||||||
|
|
||||||
# Requirements
|
# Requirements
|
||||||
* Light server running Linux or Windows
|
* Light server running Linux or Windows
|
||||||
* It even works on Raspberry Pi with response time under a second (tested with 150 feeds, 22k articles, or 32Mo of compressed data)
|
* It even works on Raspberry Pi 1 with response time under a second (tested with 150 feeds, 22k articles)
|
||||||
* A web server: Apache2 (recommended), nginx, lighttpd (not tested on others)
|
* A web server: Apache2 (recommended), nginx, lighttpd (not tested on others)
|
||||||
* PHP 5.2.1+ (PHP 5.3.7+ recommended, and PHP 5.5+ for performance) (beta support for PHP 7 with even higher performance)
|
* PHP 5.3+ (PHP 5.3.7+ recommended, and PHP 5.5+ for performance, and PHP 7 for even higher performance)
|
||||||
* Required extensions: [PDO_MySQL](http://php.net/pdo-mysql) or [PDO_SQLite](http://php.net/pdo-sqlite), [cURL](http://php.net/curl), [GMP](http://php.net/gmp) (for API access on platforms < 64 bits), [IDN](http://php.net/intl.idn) (for Internationalized Domain Names)
|
* Required extensions: [PDO_MySQL](http://php.net/pdo-mysql) or [PDO_SQLite](http://php.net/pdo-sqlite), [cURL](http://php.net/curl), [GMP](http://php.net/gmp) (for API access on platforms < 64 bits), [IDN](http://php.net/intl.idn) (for Internationalized Domain Names)
|
||||||
* Recommended extensions: [JSON](http://php.net/json), [mbstring](http://php.net/mbstring), [zlib](http://php.net/zlib), [Zip](http://php.net/zip)
|
* Recommended extensions: [iconv](http://php.net/iconv), [JSON](http://php.net/json), [mbstring](http://php.net/mbstring), [Zip](http://php.net/zip), [zlib](http://php.net/zlib)
|
||||||
|
* Enabled by default: [DOM](http://php.net/dom), [XML](http://php.net/xml)…
|
||||||
* MySQL 5.0.3+ (recommended) or SQLite 3.7.4+
|
* MySQL 5.0.3+ (recommended) or SQLite 3.7.4+
|
||||||
* A recent browser like Firefox, Chrome, Opera, Safari. [Internet Explorer currently not supported, but support will come back](https://github.com/FreshRSS/FreshRSS/issues/772).
|
* A recent browser like Firefox, Chrome, Opera, Safari. [Internet Explorer currently not supported, but support will come back](https://github.com/FreshRSS/FreshRSS/issues/772).
|
||||||
* Works on mobile
|
* Works on mobile
|
||||||
|
* The browser HTTP `Referer` header must not be disabled when using the form login method
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
@ -50,6 +52,9 @@ We are a friendly community.
|
||||||
5. Everything should be working :) If you encounter any problem, feel free to contact me.
|
5. Everything should be working :) If you encounter any problem, feel free to contact me.
|
||||||
6. Advanced configuration settings can be seen in [config.php](./data/config.default.php).
|
6. Advanced configuration settings can be seen in [config.php](./data/config.default.php).
|
||||||
|
|
||||||
|
## Automated install
|
||||||
|
[](https://dfabric.github.io/DPlatform-ShellCore)
|
||||||
|
|
||||||
## Example of full installation on Linux Debian/Ubuntu
|
## Example of full installation on Linux Debian/Ubuntu
|
||||||
```sh
|
```sh
|
||||||
# If you use an Apache Web server (otherwise you need another Web server)
|
# If you use an Apache Web server (otherwise you need another Web server)
|
||||||
|
@ -58,7 +63,7 @@ sudo a2enmod headers expires rewrite ssl
|
||||||
# (Optional) If you want a MySQL database server
|
# (Optional) If you want a MySQL database server
|
||||||
sudo apt-get install mysql-server mysql-client php5-mysql
|
sudo apt-get install mysql-server mysql-client php5-mysql
|
||||||
# Main components (git is optional if you manually download the installation files)
|
# Main components (git is optional if you manually download the installation files)
|
||||||
sudo apt-get install git php5 php5-curl php5-gd php5-intl php5-json php5-gmp php5-sqlite
|
sudo apt-get install git php5 php5-curl php5-gmp php5-intl php5-json php5-sqlite
|
||||||
# Restart Web server
|
# Restart Web server
|
||||||
sudo service apache2 restart
|
sudo service apache2 restart
|
||||||
|
|
||||||
|
|
0
sources/app/.htaccess
Executable file → Normal file
0
sources/app/.htaccess
Executable file → Normal file
0
sources/app/Controllers/authController.php
Executable file → Normal file
0
sources/app/Controllers/authController.php
Executable file → Normal file
0
sources/app/Controllers/categoryController.php
Executable file → Normal file
0
sources/app/Controllers/categoryController.php
Executable file → Normal file
|
@ -46,6 +46,7 @@ class FreshRSS_entry_Controller extends Minz_ActionController {
|
||||||
if ($id === false) {
|
if ($id === false) {
|
||||||
// id is false? It MUST be a POST request!
|
// id is false? It MUST be a POST request!
|
||||||
if (!Minz_Request::isPost()) {
|
if (!Minz_Request::isPost()) {
|
||||||
|
Minz_Request::bad(_t('feedback.access.not_found'), array('c' => 'index', 'a' => 'index'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
0
sources/app/Controllers/errorController.php
Executable file → Normal file
0
sources/app/Controllers/errorController.php
Executable file → Normal file
0
sources/app/Controllers/extensionController.php
Executable file → Normal file
0
sources/app/Controllers/extensionController.php
Executable file → Normal file
|
@ -114,6 +114,8 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
|
||||||
Minz_Request::bad(_t('feedback.sub.feed.invalid_url', $url), $url_redirect);
|
Minz_Request::bad(_t('feedback.sub.feed.invalid_url', $url), $url_redirect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$feed->_httpAuth($http_auth);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$feed->load(true);
|
$feed->load(true);
|
||||||
} catch (FreshRSS_Feed_Exception $e) {
|
} catch (FreshRSS_Feed_Exception $e) {
|
||||||
|
@ -140,7 +142,6 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
|
||||||
}
|
}
|
||||||
|
|
||||||
$feed->_category($cat);
|
$feed->_category($cat);
|
||||||
$feed->_httpAuth($http_auth);
|
|
||||||
|
|
||||||
// Call the extension hook
|
// Call the extension hook
|
||||||
$name = $feed->name();
|
$name = $feed->name();
|
||||||
|
@ -355,12 +356,12 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
|
||||||
$entry_date = $entry->date(true);
|
$entry_date = $entry->date(true);
|
||||||
if (isset($existingHashForGuids[$entry->guid()])) {
|
if (isset($existingHashForGuids[$entry->guid()])) {
|
||||||
$existingHash = $existingHashForGuids[$entry->guid()];
|
$existingHash = $existingHashForGuids[$entry->guid()];
|
||||||
if (strcasecmp($existingHash, $entry->hash()) === 0 || $existingHash === '00000000000000000000000000000000') {
|
if (strcasecmp($existingHash, $entry->hash()) === 0 || trim($existingHash, '0') == '') {
|
||||||
//This entry already exists and is unchanged. TODO: Remove the test with the zero'ed hash in FreshRSS v1.3
|
//This entry already exists and is unchanged. TODO: Remove the test with the zero'ed hash in FreshRSS v1.3
|
||||||
$oldGuids[] = $entry->guid();
|
$oldGuids[] = $entry->guid();
|
||||||
} else { //This entry already exists but has been updated
|
} else { //This entry already exists but has been updated
|
||||||
Minz_Log::debug('Entry with GUID `' . $entry->guid() . '` updated in feed ' . $feed->id() .
|
//Minz_Log::debug('Entry with GUID `' . $entry->guid() . '` updated in feed ' . $feed->id() .
|
||||||
', old hash ' . $existingHash . ', new hash ' . $entry->hash());
|
//', old hash ' . $existingHash . ', new hash ' . $entry->hash());
|
||||||
//TODO: Make an updated/is_read policy by feed, in addition to the global one.
|
//TODO: Make an updated/is_read policy by feed, in addition to the global one.
|
||||||
$entry->_isRead(FreshRSS_Context::$user_conf->mark_updated_article_unread ? false : null); //Change is_read according to policy.
|
$entry->_isRead(FreshRSS_Context::$user_conf->mark_updated_article_unread ? false : null); //Change is_read according to policy.
|
||||||
if (!$entryDAO->hasTransaction()) {
|
if (!$entryDAO->hasTransaction()) {
|
||||||
|
|
0
sources/app/Controllers/importExportController.php
Executable file → Normal file
0
sources/app/Controllers/importExportController.php
Executable file → Normal file
|
@ -32,6 +32,7 @@ class FreshRSS_index_Controller extends Minz_ActionController {
|
||||||
Minz_Error::error(404);
|
Minz_Error::error(404);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->view->callbackBeforeContent = function() {
|
||||||
try {
|
try {
|
||||||
$entries = $this->listEntriesByContext();
|
$entries = $this->listEntriesByContext();
|
||||||
|
|
||||||
|
@ -68,6 +69,7 @@ class FreshRSS_index_Controller extends Minz_ActionController {
|
||||||
$title = '(' . FreshRSS_Context::$get_unread . ') ' . $title;
|
$title = '(' . FreshRSS_Context::$get_unread . ') ' . $title;
|
||||||
}
|
}
|
||||||
Minz_View::prependTitle($title . ' · ');
|
Minz_View::prependTitle($title . ' · ');
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -6,7 +6,7 @@ class FreshRSS_javascript_Controller extends Minz_ActionController {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function actualizeAction() {
|
public function actualizeAction() {
|
||||||
header('Content-Type: text/javascript; charset=UTF-8');
|
header('Content-Type: application/json; charset=UTF-8');
|
||||||
$feedDAO = FreshRSS_Factory::createFeedDao();
|
$feedDAO = FreshRSS_Factory::createFeedDao();
|
||||||
$this->view->feeds = $feedDAO->listFeedsOrderUpdate(FreshRSS_Context::$user_conf->ttl_default);
|
$this->view->feeds = $feedDAO->listFeedsOrderUpdate(FreshRSS_Context::$user_conf->ttl_default);
|
||||||
}
|
}
|
||||||
|
|
0
sources/app/Controllers/statsController.php
Executable file → Normal file
0
sources/app/Controllers/statsController.php
Executable file → Normal file
0
sources/app/Controllers/subscriptionController.php
Executable file → Normal file
0
sources/app/Controllers/subscriptionController.php
Executable file → Normal file
0
sources/app/Controllers/updateController.php
Executable file → Normal file
0
sources/app/Controllers/updateController.php
Executable file → Normal file
0
sources/app/Controllers/userController.php
Executable file → Normal file
0
sources/app/Controllers/userController.php
Executable file → Normal file
0
sources/app/Exceptions/BadUrlException.php
Executable file → Normal file
0
sources/app/Exceptions/BadUrlException.php
Executable file → Normal file
0
sources/app/Exceptions/ContextException.php
Executable file → Normal file
0
sources/app/Exceptions/ContextException.php
Executable file → Normal file
0
sources/app/Exceptions/DAOException.php
Executable file → Normal file
0
sources/app/Exceptions/DAOException.php
Executable file → Normal file
0
sources/app/Exceptions/EntriesGetterException.php
Executable file → Normal file
0
sources/app/Exceptions/EntriesGetterException.php
Executable file → Normal file
0
sources/app/Exceptions/FeedException.php
Executable file → Normal file
0
sources/app/Exceptions/FeedException.php
Executable file → Normal file
40
sources/app/FreshRSS.php
Executable file → Normal file
40
sources/app/FreshRSS.php
Executable file → Normal file
|
@ -34,7 +34,7 @@ class FreshRSS extends Minz_FrontController {
|
||||||
|
|
||||||
// Auth has to be initialized before using currentUser session parameter
|
// Auth has to be initialized before using currentUser session parameter
|
||||||
// because it's this part which create this parameter.
|
// because it's this part which create this parameter.
|
||||||
$this->initAuth();
|
self::initAuth();
|
||||||
|
|
||||||
// Then, register the user configuration and use the configuration setter
|
// Then, register the user configuration and use the configuration setter
|
||||||
// created above.
|
// created above.
|
||||||
|
@ -46,10 +46,8 @@ class FreshRSS extends Minz_FrontController {
|
||||||
|
|
||||||
// Finish to initialize the other FreshRSS / Minz components.
|
// Finish to initialize the other FreshRSS / Minz components.
|
||||||
FreshRSS_Context::init();
|
FreshRSS_Context::init();
|
||||||
$this->initI18n();
|
self::initI18n();
|
||||||
FreshRSS_Share::load(join_path(DATA_PATH, 'shares.php'));
|
self::loadNotifications();
|
||||||
$this->loadStylesAndScripts();
|
|
||||||
$this->loadNotifications();
|
|
||||||
// Enable extensions for the current (logged) user.
|
// Enable extensions for the current (logged) user.
|
||||||
if (FreshRSS_Auth::hasAccess()) {
|
if (FreshRSS_Auth::hasAccess()) {
|
||||||
$ext_list = FreshRSS_Context::$user_conf->extensions_enabled;
|
$ext_list = FreshRSS_Context::$user_conf->extensions_enabled;
|
||||||
|
@ -57,7 +55,7 @@ class FreshRSS extends Minz_FrontController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function initAuth() {
|
private static function initAuth() {
|
||||||
FreshRSS_Auth::init();
|
FreshRSS_Auth::init();
|
||||||
if (Minz_Request::isPost() && !is_referer_from_same_domain()) {
|
if (Minz_Request::isPost() && !is_referer_from_same_domain()) {
|
||||||
// Basic protection against XSRF attacks
|
// Basic protection against XSRF attacks
|
||||||
|
@ -74,12 +72,12 @@ class FreshRSS extends Minz_FrontController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function initI18n() {
|
private static function initI18n() {
|
||||||
Minz_Session::_param('language', FreshRSS_Context::$user_conf->language);
|
Minz_Session::_param('language', FreshRSS_Context::$user_conf->language);
|
||||||
Minz_Translate::init(FreshRSS_Context::$user_conf->language);
|
Minz_Translate::init(FreshRSS_Context::$user_conf->language);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function loadStylesAndScripts() {
|
public static function loadStylesAndScripts() {
|
||||||
$theme = FreshRSS_Themes::load(FreshRSS_Context::$user_conf->theme);
|
$theme = FreshRSS_Themes::load(FreshRSS_Context::$user_conf->theme);
|
||||||
if ($theme) {
|
if ($theme) {
|
||||||
foreach($theme['files'] as $file) {
|
foreach($theme['files'] as $file) {
|
||||||
|
@ -91,9 +89,9 @@ class FreshRSS extends Minz_FrontController {
|
||||||
$filename = $file;
|
$filename = $file;
|
||||||
}
|
}
|
||||||
$filetime = @filemtime(PUBLIC_PATH . '/themes/' . $theme_id . '/' . $filename);
|
$filetime = @filemtime(PUBLIC_PATH . '/themes/' . $theme_id . '/' . $filename);
|
||||||
Minz_View::appendStyle(Minz_Url::display(
|
$url = '/themes/' . $theme_id . '/' . $filename . '?' . $filetime;
|
||||||
'/themes/' . $theme_id . '/' . $filename . '?' . $filetime
|
header('Link: <' . Minz_Url::display($url, '', 'root') . '>;rel=preload', false); //HTTP2
|
||||||
));
|
Minz_View::appendStyle(Minz_Url::display($url));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,11 +108,29 @@ class FreshRSS extends Minz_FrontController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function loadNotifications() {
|
private static function loadNotifications() {
|
||||||
$notif = Minz_Session::param('notification');
|
$notif = Minz_Session::param('notification');
|
||||||
if ($notif) {
|
if ($notif) {
|
||||||
Minz_View::_param('notification', $notif);
|
Minz_View::_param('notification', $notif);
|
||||||
Minz_Session::_param('notification');
|
Minz_Session::_param('notification');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function preLayout() {
|
||||||
|
switch (Minz_Request::controllerName()) {
|
||||||
|
case 'index':
|
||||||
|
header("Content-Security-Policy: default-src 'self'; child-src *; frame-src *; img-src * data:; media-src *");
|
||||||
|
break;
|
||||||
|
case 'stats':
|
||||||
|
header("Content-Security-Policy: default-src 'self'; style-src 'self' 'unsafe-inline'");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
header("Content-Security-Policy: default-src 'self'");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
header("X-Content-Type-Options: nosniff");
|
||||||
|
|
||||||
|
FreshRSS_Share::load(join_path(DATA_PATH, 'shares.php'));
|
||||||
|
self::loadStylesAndScripts();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
0
sources/app/Models/Auth.php
Executable file → Normal file
0
sources/app/Models/Auth.php
Executable file → Normal file
0
sources/app/Models/Category.php
Executable file → Normal file
0
sources/app/Models/Category.php
Executable file → Normal file
2
sources/app/Models/CategoryDAO.php
Executable file → Normal file
2
sources/app/Models/CategoryDAO.php
Executable file → Normal file
|
@ -103,7 +103,7 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo implements FreshRSS_Searchable
|
||||||
. ($details ? 'f.* ' : 'f.id, f.name, f.url, f.website, f.priority, f.error, f.cache_nbEntries, f.cache_nbUnreads ')
|
. ($details ? 'f.* ' : 'f.id, f.name, f.url, f.website, f.priority, f.error, f.cache_nbEntries, f.cache_nbUnreads ')
|
||||||
. 'FROM `' . $this->prefix . 'category` c '
|
. 'FROM `' . $this->prefix . 'category` c '
|
||||||
. 'LEFT OUTER JOIN `' . $this->prefix . 'feed` f ON f.category=c.id '
|
. 'LEFT OUTER JOIN `' . $this->prefix . 'feed` f ON f.category=c.id '
|
||||||
. 'GROUP BY f.id '
|
. 'GROUP BY f.id, c_id '
|
||||||
. 'ORDER BY c.name, f.name';
|
. 'ORDER BY c.name, f.name';
|
||||||
$stm = $this->bd->prepare($sql);
|
$stm = $this->bd->prepare($sql);
|
||||||
$stm->execute();
|
$stm->execute();
|
||||||
|
|
0
sources/app/Models/ConfigurationSetter.php
Executable file → Normal file
0
sources/app/Models/ConfigurationSetter.php
Executable file → Normal file
0
sources/app/Models/Context.php
Executable file → Normal file
0
sources/app/Models/Context.php
Executable file → Normal file
0
sources/app/Models/DatabaseDAO.php
Executable file → Normal file
0
sources/app/Models/DatabaseDAO.php
Executable file → Normal file
0
sources/app/Models/DatabaseDAOSQLite.php
Executable file → Normal file
0
sources/app/Models/DatabaseDAOSQLite.php
Executable file → Normal file
0
sources/app/Models/Days.php
Executable file → Normal file
0
sources/app/Models/Days.php
Executable file → Normal file
0
sources/app/Models/Entry.php
Executable file → Normal file
0
sources/app/Models/Entry.php
Executable file → Normal file
0
sources/app/Models/EntryDAO.php
Executable file → Normal file
0
sources/app/Models/EntryDAO.php
Executable file → Normal file
0
sources/app/Models/EntryDAOSQLite.php
Executable file → Normal file
0
sources/app/Models/EntryDAOSQLite.php
Executable file → Normal file
0
sources/app/Models/Factory.php
Executable file → Normal file
0
sources/app/Models/Factory.php
Executable file → Normal file
9
sources/app/Models/Feed.php
Executable file → Normal file
9
sources/app/Models/Feed.php
Executable file → Normal file
|
@ -451,6 +451,10 @@ class FreshRSS_Feed extends Minz_Model {
|
||||||
Minz_Log::warning('Invalid callback for PubSubHubbub: ' . $this->url);
|
Minz_Log::warning('Invalid callback for PubSubHubbub: ' . $this->url);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (!$state) { //unsubscribe
|
||||||
|
$hubJson['lease_end'] = time() - 60;
|
||||||
|
file_put_contents($hubFilename, json_encode($hubJson));
|
||||||
|
}
|
||||||
$ch = curl_init();
|
$ch = curl_init();
|
||||||
curl_setopt_array($ch, array(
|
curl_setopt_array($ch, array(
|
||||||
CURLOPT_URL => $this->hubUrl,
|
CURLOPT_URL => $this->hubUrl,
|
||||||
|
@ -470,11 +474,6 @@ class FreshRSS_Feed extends Minz_Model {
|
||||||
'PubSubHubbub ' . ($state ? 'subscribe' : 'unsubscribe') . ' to ' . $this->selfUrl .
|
'PubSubHubbub ' . ($state ? 'subscribe' : 'unsubscribe') . ' to ' . $this->selfUrl .
|
||||||
' with callback ' . $callbackUrl . ': ' . $info['http_code'] . ' ' . $response . "\n", FILE_APPEND);
|
' with callback ' . $callbackUrl . ': ' . $info['http_code'] . ' ' . $response . "\n", FILE_APPEND);
|
||||||
|
|
||||||
if (!$state) { //unsubscribe
|
|
||||||
$hubJson['lease_end'] = time() - 60;
|
|
||||||
file_put_contents($hubFilename, json_encode($hubJson));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (substr($info['http_code'], 0, 1) == '2') {
|
if (substr($info['http_code'], 0, 1) == '2') {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
|
|
0
sources/app/Models/FeedDAO.php
Executable file → Normal file
0
sources/app/Models/FeedDAO.php
Executable file → Normal file
0
sources/app/Models/FeedDAOSQLite.php
Executable file → Normal file
0
sources/app/Models/FeedDAOSQLite.php
Executable file → Normal file
0
sources/app/Models/Log.php
Executable file → Normal file
0
sources/app/Models/Log.php
Executable file → Normal file
0
sources/app/Models/LogDAO.php
Executable file → Normal file
0
sources/app/Models/LogDAO.php
Executable file → Normal file
0
sources/app/Models/Search.php
Executable file → Normal file
0
sources/app/Models/Search.php
Executable file → Normal file
0
sources/app/Models/Searchable.php
Executable file → Normal file
0
sources/app/Models/Searchable.php
Executable file → Normal file
6
sources/app/Models/Share.php
Executable file → Normal file
6
sources/app/Models/Share.php
Executable file → Normal file
|
@ -119,11 +119,9 @@ class FreshRSS_Share {
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($options as $key => $value) {
|
foreach ($options as $key => $value) {
|
||||||
if (!isset($available_options[$key])) {
|
if (isset($available_options[$key])) {
|
||||||
continue;
|
$this->{$available_options[$key]} = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->$available_options[$key] = $value;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
20
sources/app/Models/StatsDAO.php
Executable file → Normal file
20
sources/app/Models/StatsDAO.php
Executable file → Normal file
|
@ -55,9 +55,9 @@ SQL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculates entry count per day on a 30 days period.
|
* Calculates entry count per day on a 30 days period.
|
||||||
* Returns the result as a JSON string.
|
* Returns the result as a JSON object.
|
||||||
*
|
*
|
||||||
* @return string
|
* @return JSON object
|
||||||
*/
|
*/
|
||||||
public function calculateEntryCount() {
|
public function calculateEntryCount() {
|
||||||
$count = $this->initEntryCountArray();
|
$count = $this->initEntryCountArray();
|
||||||
|
@ -257,9 +257,9 @@ SQL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculates feed count per category.
|
* Calculates feed count per category.
|
||||||
* Returns the result as a JSON string.
|
* Returns the result as a JSON object.
|
||||||
*
|
*
|
||||||
* @return string
|
* @return JSON object
|
||||||
*/
|
*/
|
||||||
public function calculateFeedByCategory() {
|
public function calculateFeedByCategory() {
|
||||||
$sql = <<<SQL
|
$sql = <<<SQL
|
||||||
|
@ -282,7 +282,7 @@ SQL;
|
||||||
* Calculates entry count per category.
|
* Calculates entry count per category.
|
||||||
* Returns the result as a JSON string.
|
* Returns the result as a JSON string.
|
||||||
*
|
*
|
||||||
* @return string
|
* @return JSON object
|
||||||
*/
|
*/
|
||||||
public function calculateEntryByCategory() {
|
public function calculateEntryByCategory() {
|
||||||
$sql = <<<SQL
|
$sql = <<<SQL
|
||||||
|
@ -357,7 +357,7 @@ SQL;
|
||||||
$serie[] = array($key, $value);
|
$serie[] = array($key, $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
return json_encode($serie);
|
return $serie;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function convertToPieSerie($data) {
|
protected function convertToPieSerie($data) {
|
||||||
|
@ -368,7 +368,7 @@ SQL;
|
||||||
$serie[] = $value;
|
$serie[] = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
return json_encode($serie);
|
return $serie;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -411,17 +411,17 @@ SQL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Translates array content and encode it as JSON
|
* Translates array content
|
||||||
*
|
*
|
||||||
* @param array $data
|
* @param array $data
|
||||||
* @return string
|
* @return JSON object
|
||||||
*/
|
*/
|
||||||
private function convertToTranslatedJson($data = array()) {
|
private function convertToTranslatedJson($data = array()) {
|
||||||
$translated = array_map(function($a) {
|
$translated = array_map(function($a) {
|
||||||
return _t('gen.date.' . $a);
|
return _t('gen.date.' . $a);
|
||||||
}, $data);
|
}, $data);
|
||||||
|
|
||||||
return json_encode($translated);
|
return $translated;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
4
sources/app/Models/StatsDAOSQLite.php
Executable file → Normal file
4
sources/app/Models/StatsDAOSQLite.php
Executable file → Normal file
|
@ -4,9 +4,9 @@ class FreshRSS_StatsDAOSQLite extends FreshRSS_StatsDAO {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculates entry count per day on a 30 days period.
|
* Calculates entry count per day on a 30 days period.
|
||||||
* Returns the result as a JSON string.
|
* Returns the result as a JSON object.
|
||||||
*
|
*
|
||||||
* @return string
|
* @return JSON object
|
||||||
*/
|
*/
|
||||||
public function calculateEntryCount() {
|
public function calculateEntryCount() {
|
||||||
$count = $this->initEntryCountArray();
|
$count = $this->initEntryCountArray();
|
||||||
|
|
4
sources/app/Models/Themes.php
Executable file → Normal file
4
sources/app/Models/Themes.php
Executable file → Normal file
|
@ -116,7 +116,3 @@ class FreshRSS_Themes extends Minz_Model {
|
||||||
'<img class="icon" src="' . Minz_Url::display($url) . '" alt="' . $alts[$name] . '" />';
|
'<img class="icon" src="' . Minz_Url::display($url) . '" alt="' . $alts[$name] . '" />';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function _i($icon, $url_only = false) {
|
|
||||||
return FreshRSS_Themes::icon($icon, $url_only);
|
|
||||||
}
|
|
||||||
|
|
0
sources/app/Models/UserDAO.php
Executable file → Normal file
0
sources/app/Models/UserDAO.php
Executable file → Normal file
0
sources/app/Models/UserQuery.php
Executable file → Normal file
0
sources/app/Models/UserQuery.php
Executable file → Normal file
0
sources/app/SQL/install.sql.mysql.php
Executable file → Normal file
0
sources/app/SQL/install.sql.mysql.php
Executable file → Normal file
0
sources/app/SQL/install.sql.sqlite.php
Executable file → Normal file
0
sources/app/SQL/install.sql.sqlite.php
Executable file → Normal file
|
@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS `YnoUser_feed` (
|
||||||
`name` varchar(255) NOT NULL,
|
`name` varchar(255) NOT NULL,
|
||||||
`website` varchar(255) CHARACTER SET latin1,
|
`website` varchar(255) CHARACTER SET latin1,
|
||||||
`description` text,
|
`description` text,
|
||||||
`lastUpdate` int(11) DEFAULT 0,
|
`lastUpdate` int(11) DEFAULT 0, -- Until year 2038
|
||||||
`priority` tinyint(2) NOT NULL DEFAULT 10,
|
`priority` tinyint(2) NOT NULL DEFAULT 10,
|
||||||
`pathEntries` varchar(511) DEFAULT NULL,
|
`pathEntries` varchar(511) DEFAULT NULL,
|
||||||
`httpAuth` varchar(511) DEFAULT NULL,
|
`httpAuth` varchar(511) DEFAULT NULL,
|
||||||
|
@ -38,7 +38,9 @@ CREATE TABLE IF NOT EXISTS `YnoUser_entry` (
|
||||||
`author` varchar(255),
|
`author` varchar(255),
|
||||||
`content_bin` blob, -- v0.7
|
`content_bin` blob, -- v0.7
|
||||||
`link` varchar(1023) CHARACTER SET latin1 NOT NULL,
|
`link` varchar(1023) CHARACTER SET latin1 NOT NULL,
|
||||||
`date` int(11),
|
`date` int(11), -- Until year 2038
|
||||||
|
`lastSeen` INT(11) DEFAULT 0, -- v1.1.1, Until year 2038
|
||||||
|
`hash` BINARY(16), -- v1.1.1
|
||||||
`is_read` boolean NOT NULL DEFAULT 0,
|
`is_read` boolean NOT NULL DEFAULT 0,
|
||||||
`is_favorite` boolean NOT NULL DEFAULT 0,
|
`is_favorite` boolean NOT NULL DEFAULT 0,
|
||||||
`id_feed` SMALLINT, -- v0.7
|
`id_feed` SMALLINT, -- v0.7
|
||||||
|
@ -47,7 +49,8 @@ CREATE TABLE IF NOT EXISTS `YnoUser_entry` (
|
||||||
FOREIGN KEY (`id_feed`) REFERENCES `YnoUser_feed`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
FOREIGN KEY (`id_feed`) REFERENCES `YnoUser_feed`(`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
UNIQUE KEY (`id_feed`,`guid`), -- v0.7
|
UNIQUE KEY (`id_feed`,`guid`), -- v0.7
|
||||||
INDEX (`is_favorite`), -- v0.7
|
INDEX (`is_favorite`), -- v0.7
|
||||||
INDEX (`is_read`) -- v0.7
|
INDEX (`is_read`), -- v0.7
|
||||||
|
INDEX `entry_lastSeen_index` (`lastSeen`) -- v1.1.1
|
||||||
) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
|
) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
|
||||||
ENGINE = INNODB;
|
ENGINE = INNODB;
|
||||||
|
|
||||||
|
|
0
sources/app/i18n/cz/admin.php
Executable file → Normal file
0
sources/app/i18n/cz/admin.php
Executable file → Normal file
0
sources/app/i18n/cz/conf.php
Executable file → Normal file
0
sources/app/i18n/cz/conf.php
Executable file → Normal file
0
sources/app/i18n/cz/feedback.php
Executable file → Normal file
0
sources/app/i18n/cz/feedback.php
Executable file → Normal file
8
sources/app/i18n/cz/gen.php
Executable file → Normal file
8
sources/app/i18n/cz/gen.php
Executable file → Normal file
|
@ -108,7 +108,7 @@ return array(
|
||||||
'confirm_action' => 'Jste si jist, že chcete provést tuto akci? Změny nelze vrátit zpět!',
|
'confirm_action' => 'Jste si jist, že chcete provést tuto akci? Změny nelze vrátit zpět!',
|
||||||
'confirm_action_feed_cat' => 'Jste si jist, že chcete provést tuto akci? Přijdete o související oblíbené položky a uživatelské dotazy. Změny nelze vrátit zpět!',
|
'confirm_action_feed_cat' => 'Jste si jist, že chcete provést tuto akci? Přijdete o související oblíbené položky a uživatelské dotazy. Změny nelze vrátit zpět!',
|
||||||
'feedback' => array(
|
'feedback' => array(
|
||||||
'body_new_articles' => 'Je \\d nových článků k přečtení v FreshRSS.',
|
'body_new_articles' => 'Je %%d nových článků k přečtení v FreshRSS.',
|
||||||
'request_failed' => 'Požadavek selhal, což může být způsobeno problémy s připojení k internetu.',
|
'request_failed' => 'Požadavek selhal, což může být způsobeno problémy s připojení k internetu.',
|
||||||
'title_new_articles' => 'FreshRSS: nové články!',
|
'title_new_articles' => 'FreshRSS: nové články!',
|
||||||
),
|
),
|
||||||
|
@ -122,6 +122,8 @@ return array(
|
||||||
'fr' => 'Français',
|
'fr' => 'Français',
|
||||||
'it' => 'Italiano',
|
'it' => 'Italiano',
|
||||||
'nl' => 'Nederlands',
|
'nl' => 'Nederlands',
|
||||||
|
'ru' => 'Русский',
|
||||||
|
'tr' => 'Türkçe',
|
||||||
),
|
),
|
||||||
'menu' => array(
|
'menu' => array(
|
||||||
'about' => 'O aplikaci',
|
'about' => 'O aplikaci',
|
||||||
|
@ -163,7 +165,9 @@ return array(
|
||||||
'print' => 'Tisk',
|
'print' => 'Tisk',
|
||||||
'shaarli' => 'Shaarli',
|
'shaarli' => 'Shaarli',
|
||||||
'twitter' => 'Twitter',
|
'twitter' => 'Twitter',
|
||||||
'wallabag' => 'wallabag',
|
'wallabag' => 'wallabag v1',
|
||||||
|
'wallabagv2' => 'wallabag v2',
|
||||||
|
'jdh' => 'Journal du hacker',
|
||||||
),
|
),
|
||||||
'short' => array(
|
'short' => array(
|
||||||
'attention' => 'Upozornění!',
|
'attention' => 'Upozornění!',
|
||||||
|
|
0
sources/app/i18n/cz/index.php
Executable file → Normal file
0
sources/app/i18n/cz/index.php
Executable file → Normal file
10
sources/app/i18n/cz/install.php
Executable file → Normal file
10
sources/app/i18n/cz/install.php
Executable file → Normal file
|
@ -51,7 +51,7 @@ return array(
|
||||||
'ok' => 'Oprávnění adresáře data jsou v pořádku.',
|
'ok' => 'Oprávnění adresáře data jsou v pořádku.',
|
||||||
),
|
),
|
||||||
'dom' => array(
|
'dom' => array(
|
||||||
'nok' => 'Nemáte požadovanou knihovnu pro procházení DOM (balíček php-xml).',
|
'nok' => 'Nemáte požadovanou knihovnu pro procházení DOM.',
|
||||||
'ok' => 'Máte požadovanou knihovnu pro procházení DOM.',
|
'ok' => 'Máte požadovanou knihovnu pro procházení DOM.',
|
||||||
),
|
),
|
||||||
'favicons' => array(
|
'favicons' => array(
|
||||||
|
@ -62,6 +62,10 @@ return array(
|
||||||
'nok' => 'Zkontrolujte prosím že neměníte HTTP REFERER.',
|
'nok' => 'Zkontrolujte prosím že neměníte HTTP REFERER.',
|
||||||
'ok' => 'Váš HTTP REFERER je znám a odpovídá Vašemu serveru.',
|
'ok' => 'Váš HTTP REFERER je znám a odpovídá Vašemu serveru.',
|
||||||
),
|
),
|
||||||
|
'json' => array(
|
||||||
|
'nok' => 'Pro parsování JSON chybí doporučená knihovna.',
|
||||||
|
'ok' => 'Máte doporučenou knihovnu pro parsování JSON.',
|
||||||
|
),
|
||||||
'minz' => array(
|
'minz' => array(
|
||||||
'nok' => 'Nemáte framework Minz.',
|
'nok' => 'Nemáte framework Minz.',
|
||||||
'ok' => 'Máte framework Minz.',
|
'ok' => 'Máte framework Minz.',
|
||||||
|
@ -86,6 +90,10 @@ return array(
|
||||||
'nok' => 'Zkontrolujte oprávnění adresáře <em>./data/users</em>. HTTP server musí mít do tohoto adresáře práva zápisu',
|
'nok' => 'Zkontrolujte oprávnění adresáře <em>./data/users</em>. HTTP server musí mít do tohoto adresáře práva zápisu',
|
||||||
'ok' => 'Oprávnění adresáře users jsou v pořádku.',
|
'ok' => 'Oprávnění adresáře users jsou v pořádku.',
|
||||||
),
|
),
|
||||||
|
'xml' => array(
|
||||||
|
'nok' => 'Pro parsování XML chybí požadovaná knihovna.',
|
||||||
|
'ok' => 'Máte požadovanou knihovnu pro parsování XML.',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
'conf' => array(
|
'conf' => array(
|
||||||
'_' => 'Obecná nastavení',
|
'_' => 'Obecná nastavení',
|
||||||
|
|
0
sources/app/i18n/cz/sub.php
Executable file → Normal file
0
sources/app/i18n/cz/sub.php
Executable file → Normal file
0
sources/app/i18n/de/admin.php
Executable file → Normal file
0
sources/app/i18n/de/admin.php
Executable file → Normal file
0
sources/app/i18n/de/conf.php
Executable file → Normal file
0
sources/app/i18n/de/conf.php
Executable file → Normal file
0
sources/app/i18n/de/feedback.php
Executable file → Normal file
0
sources/app/i18n/de/feedback.php
Executable file → Normal file
8
sources/app/i18n/de/gen.php
Executable file → Normal file
8
sources/app/i18n/de/gen.php
Executable file → Normal file
|
@ -108,7 +108,7 @@ return array(
|
||||||
'confirm_action' => 'Sind Sie sicher, dass Sie diese Aktion durchführen wollen? Diese Aktion kann nicht abgebrochen werden!',
|
'confirm_action' => 'Sind Sie sicher, dass Sie diese Aktion durchführen wollen? Diese Aktion kann nicht abgebrochen werden!',
|
||||||
'confirm_action_feed_cat' => 'Sind Sie sicher, dass Sie diese Aktion durchführen wollen? Sie werden zugehörige Favoriten und Benutzerabfragen verlieren. Dies kann nicht abgebrochen werden!',
|
'confirm_action_feed_cat' => 'Sind Sie sicher, dass Sie diese Aktion durchführen wollen? Sie werden zugehörige Favoriten und Benutzerabfragen verlieren. Dies kann nicht abgebrochen werden!',
|
||||||
'feedback' => array(
|
'feedback' => array(
|
||||||
'body_new_articles' => 'Es gibt \\d neue Artikel zum Lesen auf FreshRSS.',
|
'body_new_articles' => 'Es gibt %%d neue Artikel zum Lesen auf FreshRSS.',
|
||||||
'request_failed' => 'Eine Anfrage ist fehlgeschlagen, dies könnte durch Probleme mit der Internetverbindung verursacht worden sein.',
|
'request_failed' => 'Eine Anfrage ist fehlgeschlagen, dies könnte durch Probleme mit der Internetverbindung verursacht worden sein.',
|
||||||
'title_new_articles' => 'FreshRSS: neue Artikel!',
|
'title_new_articles' => 'FreshRSS: neue Artikel!',
|
||||||
),
|
),
|
||||||
|
@ -122,6 +122,8 @@ return array(
|
||||||
'fr' => 'Français',
|
'fr' => 'Français',
|
||||||
'it' => 'Italiano',
|
'it' => 'Italiano',
|
||||||
'nl' => 'Nederlands',
|
'nl' => 'Nederlands',
|
||||||
|
'ru' => 'Русский',
|
||||||
|
'tr' => 'Türkçe',
|
||||||
),
|
),
|
||||||
'menu' => array(
|
'menu' => array(
|
||||||
'about' => 'Über',
|
'about' => 'Über',
|
||||||
|
@ -163,7 +165,9 @@ return array(
|
||||||
'print' => 'Drucken',
|
'print' => 'Drucken',
|
||||||
'shaarli' => 'Shaarli',
|
'shaarli' => 'Shaarli',
|
||||||
'twitter' => 'Twitter',
|
'twitter' => 'Twitter',
|
||||||
'wallabag' => 'wallabag',
|
'wallabag' => 'wallabag v1',
|
||||||
|
'wallabagv2' => 'wallabag v2',
|
||||||
|
'jdh' => 'Journal du hacker',
|
||||||
),
|
),
|
||||||
'short' => array(
|
'short' => array(
|
||||||
'attention' => 'Achtung!',
|
'attention' => 'Achtung!',
|
||||||
|
|
0
sources/app/i18n/de/index.php
Executable file → Normal file
0
sources/app/i18n/de/index.php
Executable file → Normal file
10
sources/app/i18n/de/install.php
Executable file → Normal file
10
sources/app/i18n/de/install.php
Executable file → Normal file
|
@ -51,7 +51,7 @@ return array(
|
||||||
'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data</em> sind in Ordnung.',
|
'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data</em> sind in Ordnung.',
|
||||||
),
|
),
|
||||||
'dom' => array(
|
'dom' => array(
|
||||||
'nok' => 'Ihnen fehlt eine benötigte Bibliothek um DOM zu durchstöbern (Paket php-xml).',
|
'nok' => 'Ihnen fehlt eine benötigte Bibliothek um DOM zu durchstöbern.',
|
||||||
'ok' => 'Sie haben die benötigte Bibliothek um DOM zu durchstöbern.',
|
'ok' => 'Sie haben die benötigte Bibliothek um DOM zu durchstöbern.',
|
||||||
),
|
),
|
||||||
'favicons' => array(
|
'favicons' => array(
|
||||||
|
@ -62,6 +62,10 @@ return array(
|
||||||
'nok' => 'Bitte stellen Sie sicher, dass Sie Ihren HTTP REFERER nicht abändern.',
|
'nok' => 'Bitte stellen Sie sicher, dass Sie Ihren HTTP REFERER nicht abändern.',
|
||||||
'ok' => 'Ihr HTTP REFERER ist bekannt und entspricht Ihrem Server.',
|
'ok' => 'Ihr HTTP REFERER ist bekannt und entspricht Ihrem Server.',
|
||||||
),
|
),
|
||||||
|
'json' => array(
|
||||||
|
'nok' => 'Ihnen fehlt eine empfohlene Bibliothek um JSON zu parsen.',
|
||||||
|
'ok' => 'Sie haben eine empfohlene Bibliothek um JSON zu parsen.',
|
||||||
|
),
|
||||||
'minz' => array(
|
'minz' => array(
|
||||||
'nok' => 'Ihnen fehlt das Minz-Framework.',
|
'nok' => 'Ihnen fehlt das Minz-Framework.',
|
||||||
'ok' => 'Sie haben das Minz-Framework.',
|
'ok' => 'Sie haben das Minz-Framework.',
|
||||||
|
@ -86,6 +90,10 @@ return array(
|
||||||
'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data/users</em>. Der HTTP-Server muss Schreibrechte besitzen.',
|
'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data/users</em>. Der HTTP-Server muss Schreibrechte besitzen.',
|
||||||
'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data/users</em> sind in Ordnung.',
|
'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data/users</em> sind in Ordnung.',
|
||||||
),
|
),
|
||||||
|
'xml' => array(
|
||||||
|
'nok' => 'Ihnen fehlt die benötigte Bibliothek um XML zu parsen.',
|
||||||
|
'ok' => 'Sie haben die benötigte Bibliothek um XML zu parsen.',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
'conf' => array(
|
'conf' => array(
|
||||||
'_' => 'Allgemeine Konfiguration',
|
'_' => 'Allgemeine Konfiguration',
|
||||||
|
|
0
sources/app/i18n/de/sub.php
Executable file → Normal file
0
sources/app/i18n/de/sub.php
Executable file → Normal file
0
sources/app/i18n/en/admin.php
Executable file → Normal file
0
sources/app/i18n/en/admin.php
Executable file → Normal file
2
sources/app/i18n/en/conf.php
Executable file → Normal file
2
sources/app/i18n/en/conf.php
Executable file → Normal file
|
@ -77,7 +77,7 @@ return array(
|
||||||
'warn' => 'Your account and all the related data will be deleted.',
|
'warn' => 'Your account and all the related data will be deleted.',
|
||||||
),
|
),
|
||||||
'email_persona' => 'Login email address<br /><small>(for <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>',
|
'email_persona' => 'Login email address<br /><small>(for <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>',
|
||||||
'password_api' => 'Password API<br /><small>(e.g., for mobile apps)</small>',
|
'password_api' => 'API password<br /><small>(e.g., for mobile apps)</small>',
|
||||||
'password_form' => 'Password<br /><small>(for the Web-form login method)</small>',
|
'password_form' => 'Password<br /><small>(for the Web-form login method)</small>',
|
||||||
'password_format' => 'At least 7 characters',
|
'password_format' => 'At least 7 characters',
|
||||||
'title' => 'Profile',
|
'title' => 'Profile',
|
||||||
|
|
0
sources/app/i18n/en/feedback.php
Executable file → Normal file
0
sources/app/i18n/en/feedback.php
Executable file → Normal file
8
sources/app/i18n/en/gen.php
Executable file → Normal file
8
sources/app/i18n/en/gen.php
Executable file → Normal file
|
@ -108,7 +108,7 @@ return array(
|
||||||
'confirm_action' => 'Are you sure you want to perform this action? It cannot be cancelled!',
|
'confirm_action' => 'Are you sure you want to perform this action? It cannot be cancelled!',
|
||||||
'confirm_action_feed_cat' => 'Are you sure you want to perform this action? You will lose related favorites and user queries. It cannot be cancelled!',
|
'confirm_action_feed_cat' => 'Are you sure you want to perform this action? You will lose related favorites and user queries. It cannot be cancelled!',
|
||||||
'feedback' => array(
|
'feedback' => array(
|
||||||
'body_new_articles' => 'There are \\d new articles to read on FreshRSS.',
|
'body_new_articles' => 'There are %%d new articles to read on FreshRSS.',
|
||||||
'request_failed' => 'A request has failed, it may have been caused by Internet connection problems.',
|
'request_failed' => 'A request has failed, it may have been caused by Internet connection problems.',
|
||||||
'title_new_articles' => 'FreshRSS: new articles!',
|
'title_new_articles' => 'FreshRSS: new articles!',
|
||||||
),
|
),
|
||||||
|
@ -122,6 +122,8 @@ return array(
|
||||||
'fr' => 'Français',
|
'fr' => 'Français',
|
||||||
'it' => 'Italiano',
|
'it' => 'Italiano',
|
||||||
'nl' => 'Nederlands',
|
'nl' => 'Nederlands',
|
||||||
|
'ru' => 'Русский',
|
||||||
|
'tr' => 'Türkçe',
|
||||||
),
|
),
|
||||||
'menu' => array(
|
'menu' => array(
|
||||||
'about' => 'About',
|
'about' => 'About',
|
||||||
|
@ -163,7 +165,9 @@ return array(
|
||||||
'print' => 'Print',
|
'print' => 'Print',
|
||||||
'shaarli' => 'Shaarli',
|
'shaarli' => 'Shaarli',
|
||||||
'twitter' => 'Twitter',
|
'twitter' => 'Twitter',
|
||||||
'wallabag' => 'wallabag',
|
'wallabag' => 'wallabag v1',
|
||||||
|
'wallabagv2' => 'wallabag v2',
|
||||||
|
'jdh' => 'Journal du hacker',
|
||||||
),
|
),
|
||||||
'short' => array(
|
'short' => array(
|
||||||
'attention' => 'Warning!',
|
'attention' => 'Warning!',
|
||||||
|
|
0
sources/app/i18n/en/index.php
Executable file → Normal file
0
sources/app/i18n/en/index.php
Executable file → Normal file
10
sources/app/i18n/en/install.php
Executable file → Normal file
10
sources/app/i18n/en/install.php
Executable file → Normal file
|
@ -51,7 +51,7 @@ return array(
|
||||||
'ok' => 'Permissions on data directory are good.',
|
'ok' => 'Permissions on data directory are good.',
|
||||||
),
|
),
|
||||||
'dom' => array(
|
'dom' => array(
|
||||||
'nok' => 'You lack a required library to browse the DOM (php-xml package).',
|
'nok' => 'You lack a required library to browse the DOM.',
|
||||||
'ok' => 'You have the required library to browse the DOM.',
|
'ok' => 'You have the required library to browse the DOM.',
|
||||||
),
|
),
|
||||||
'favicons' => array(
|
'favicons' => array(
|
||||||
|
@ -62,6 +62,10 @@ return array(
|
||||||
'nok' => 'Please check that you are not altering your HTTP REFERER.',
|
'nok' => 'Please check that you are not altering your HTTP REFERER.',
|
||||||
'ok' => 'Your HTTP REFERER is known and corresponds to your server.',
|
'ok' => 'Your HTTP REFERER is known and corresponds to your server.',
|
||||||
),
|
),
|
||||||
|
'json' => array(
|
||||||
|
'nok' => 'You lack a recommended library to parse JSON.',
|
||||||
|
'ok' => 'You have a recommended library to parse JSON.',
|
||||||
|
),
|
||||||
'minz' => array(
|
'minz' => array(
|
||||||
'nok' => 'You lack the Minz framework.',
|
'nok' => 'You lack the Minz framework.',
|
||||||
'ok' => 'You have the Minz framework.',
|
'ok' => 'You have the Minz framework.',
|
||||||
|
@ -86,6 +90,10 @@ return array(
|
||||||
'nok' => 'Check permissions on <em>./data/users</em> directory. HTTP server must have rights to write into',
|
'nok' => 'Check permissions on <em>./data/users</em> directory. HTTP server must have rights to write into',
|
||||||
'ok' => 'Permissions on users directory are good.',
|
'ok' => 'Permissions on users directory are good.',
|
||||||
),
|
),
|
||||||
|
'xml' => array(
|
||||||
|
'nok' => 'You lack the required library to parse XML.',
|
||||||
|
'ok' => 'You have the required library to parse XML.',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
'conf' => array(
|
'conf' => array(
|
||||||
'_' => 'General configuration',
|
'_' => 'General configuration',
|
||||||
|
|
0
sources/app/i18n/en/sub.php
Executable file → Normal file
0
sources/app/i18n/en/sub.php
Executable file → Normal file
0
sources/app/i18n/fr/admin.php
Executable file → Normal file
0
sources/app/i18n/fr/admin.php
Executable file → Normal file
0
sources/app/i18n/fr/conf.php
Executable file → Normal file
0
sources/app/i18n/fr/conf.php
Executable file → Normal file
0
sources/app/i18n/fr/feedback.php
Executable file → Normal file
0
sources/app/i18n/fr/feedback.php
Executable file → Normal file
8
sources/app/i18n/fr/gen.php
Executable file → Normal file
8
sources/app/i18n/fr/gen.php
Executable file → Normal file
|
@ -108,7 +108,7 @@ return array(
|
||||||
'confirm_action' => 'Êtes-vous sûr(e) de vouloir continuer ? Cette action ne peut être annulée !',
|
'confirm_action' => 'Êtes-vous sûr(e) de vouloir continuer ? Cette action ne peut être annulée !',
|
||||||
'confirm_action_feed_cat' => 'Êtes-vous sûr(e) de vouloir continuer ? Vous perdrez les favoris et les filtres associés. Cette action ne peut être annulée !',
|
'confirm_action_feed_cat' => 'Êtes-vous sûr(e) de vouloir continuer ? Vous perdrez les favoris et les filtres associés. Cette action ne peut être annulée !',
|
||||||
'feedback' => array(
|
'feedback' => array(
|
||||||
'body_new_articles' => 'Il y a \\d nouveaux articles à lire sur FreshRSS.',
|
'body_new_articles' => 'Il y a %%d nouveaux articles à lire sur FreshRSS.',
|
||||||
'request_failed' => 'Une requête a échoué, cela peut être dû à des problèmes de connexion à Internet.',
|
'request_failed' => 'Une requête a échoué, cela peut être dû à des problèmes de connexion à Internet.',
|
||||||
'title_new_articles' => 'FreshRSS : nouveaux articles !',
|
'title_new_articles' => 'FreshRSS : nouveaux articles !',
|
||||||
),
|
),
|
||||||
|
@ -122,6 +122,8 @@ return array(
|
||||||
'fr' => 'Français',
|
'fr' => 'Français',
|
||||||
'it' => 'Italiano',
|
'it' => 'Italiano',
|
||||||
'nl' => 'Nederlands',
|
'nl' => 'Nederlands',
|
||||||
|
'ru' => 'Русский',
|
||||||
|
'tr' => 'Türkçe',
|
||||||
),
|
),
|
||||||
'menu' => array(
|
'menu' => array(
|
||||||
'about' => 'À propos',
|
'about' => 'À propos',
|
||||||
|
@ -163,7 +165,9 @@ return array(
|
||||||
'print' => 'Imprimer',
|
'print' => 'Imprimer',
|
||||||
'shaarli' => 'Shaarli',
|
'shaarli' => 'Shaarli',
|
||||||
'twitter' => 'Twitter',
|
'twitter' => 'Twitter',
|
||||||
'wallabag' => 'wallabag',
|
'wallabag' => 'wallabag v1',
|
||||||
|
'wallabagv2' => 'wallabag v2',
|
||||||
|
'jdh' => 'Journal du hacker',
|
||||||
),
|
),
|
||||||
'short' => array(
|
'short' => array(
|
||||||
'attention' => 'Attention !',
|
'attention' => 'Attention !',
|
||||||
|
|
0
sources/app/i18n/fr/index.php
Executable file → Normal file
0
sources/app/i18n/fr/index.php
Executable file → Normal file
10
sources/app/i18n/fr/install.php
Executable file → Normal file
10
sources/app/i18n/fr/install.php
Executable file → Normal file
|
@ -51,7 +51,7 @@ return array(
|
||||||
'ok' => 'Les droits sur le répertoire de data sont bons.',
|
'ok' => 'Les droits sur le répertoire de data sont bons.',
|
||||||
),
|
),
|
||||||
'dom' => array(
|
'dom' => array(
|
||||||
'nok' => 'Il manque une librairie pour parcourir le DOM (paquet php-xml).',
|
'nok' => 'Il manque une librairie pour parcourir le DOM.',
|
||||||
'ok' => 'Vous disposez du nécessaire pour parcourir le DOM.',
|
'ok' => 'Vous disposez du nécessaire pour parcourir le DOM.',
|
||||||
),
|
),
|
||||||
'favicons' => array(
|
'favicons' => array(
|
||||||
|
@ -62,6 +62,10 @@ return array(
|
||||||
'nok' => 'Veuillez vérifier que vous ne modifiez pas votre HTTP REFERER.',
|
'nok' => 'Veuillez vérifier que vous ne modifiez pas votre HTTP REFERER.',
|
||||||
'ok' => 'Le HTTP REFERER est connu et semble correspondre à votre serveur.',
|
'ok' => 'Le HTTP REFERER est connu et semble correspondre à votre serveur.',
|
||||||
),
|
),
|
||||||
|
'json' => array(
|
||||||
|
'nok' => 'Il manque une librairie recommandée pour JSON.',
|
||||||
|
'ok' => 'Vouz disposez de la librairie recommandée pour JSON.',
|
||||||
|
),
|
||||||
'minz' => array(
|
'minz' => array(
|
||||||
'nok' => 'Vous ne disposez pas de la librairie Minz.',
|
'nok' => 'Vous ne disposez pas de la librairie Minz.',
|
||||||
'ok' => 'Vous disposez du framework Minz',
|
'ok' => 'Vous disposez du framework Minz',
|
||||||
|
@ -86,6 +90,10 @@ return array(
|
||||||
'nok' => 'Veuillez vérifier les droits sur le répertoire <em>./data/users</em>. Le serveur HTTP doit être capable d’écrire dedans',
|
'nok' => 'Veuillez vérifier les droits sur le répertoire <em>./data/users</em>. Le serveur HTTP doit être capable d’écrire dedans',
|
||||||
'ok' => 'Les droits sur le répertoire des utilisateurs sont bons.',
|
'ok' => 'Les droits sur le répertoire des utilisateurs sont bons.',
|
||||||
),
|
),
|
||||||
|
'xml' => array(
|
||||||
|
'nok' => 'Il manque une librairie requise pour XML.',
|
||||||
|
'ok' => 'Vouz disposez de la librairie requise pour XML.',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
'conf' => array(
|
'conf' => array(
|
||||||
'_' => 'Configuration générale',
|
'_' => 'Configuration générale',
|
||||||
|
|
0
sources/app/i18n/fr/sub.php
Executable file → Normal file
0
sources/app/i18n/fr/sub.php
Executable file → Normal file
0
sources/app/i18n/it/admin.php
Executable file → Normal file
0
sources/app/i18n/it/admin.php
Executable file → Normal file
0
sources/app/i18n/it/conf.php
Executable file → Normal file
0
sources/app/i18n/it/conf.php
Executable file → Normal file
0
sources/app/i18n/it/feedback.php
Executable file → Normal file
0
sources/app/i18n/it/feedback.php
Executable file → Normal file
9
sources/app/i18n/it/gen.php
Executable file → Normal file
9
sources/app/i18n/it/gen.php
Executable file → Normal file
|
@ -108,7 +108,7 @@ return array(
|
||||||
'confirm_action' => 'Sei sicuro di voler continuare?',
|
'confirm_action' => 'Sei sicuro di voler continuare?',
|
||||||
'confirm_action_feed_cat' => 'Sei sicuro di voler continuare? Verranno persi i preferiti e le ricerche utente correlate!',
|
'confirm_action_feed_cat' => 'Sei sicuro di voler continuare? Verranno persi i preferiti e le ricerche utente correlate!',
|
||||||
'feedback' => array(
|
'feedback' => array(
|
||||||
'body_new_articles' => 'Ci sono \\d nuovi articoli da leggere.',
|
'body_new_articles' => 'Ci sono %%d nuovi articoli da leggere.',
|
||||||
'request_failed' => 'Richiesta fallita, probabilmente a causa di problemi di connessione',
|
'request_failed' => 'Richiesta fallita, probabilmente a causa di problemi di connessione',
|
||||||
'title_new_articles' => 'Feed RSS Reader: nuovi articoli!',
|
'title_new_articles' => 'Feed RSS Reader: nuovi articoli!',
|
||||||
),
|
),
|
||||||
|
@ -122,6 +122,8 @@ return array(
|
||||||
'fr' => 'Français',
|
'fr' => 'Français',
|
||||||
'it' => 'Italiano',
|
'it' => 'Italiano',
|
||||||
'nl' => 'Nederlands',
|
'nl' => 'Nederlands',
|
||||||
|
'ru' => 'Русский',
|
||||||
|
'tr' => 'Türkçe',
|
||||||
),
|
),
|
||||||
'menu' => array(
|
'menu' => array(
|
||||||
'about' => 'Informazioni',
|
'about' => 'Informazioni',
|
||||||
|
@ -159,10 +161,13 @@ return array(
|
||||||
'email' => 'Email',
|
'email' => 'Email',
|
||||||
'facebook' => 'Facebook',
|
'facebook' => 'Facebook',
|
||||||
'g+' => 'Google+',
|
'g+' => 'Google+',
|
||||||
|
'movim' => 'Movim',
|
||||||
'print' => 'Stampa',
|
'print' => 'Stampa',
|
||||||
'shaarli' => 'Shaarli',
|
'shaarli' => 'Shaarli',
|
||||||
'twitter' => 'Twitter',
|
'twitter' => 'Twitter',
|
||||||
'wallabag' => 'wallabag',
|
'wallabag' => 'wallabag v1',
|
||||||
|
'wallabagv2' => 'wallabag v2',
|
||||||
|
'jdh' => 'Journal du hacker',
|
||||||
),
|
),
|
||||||
'short' => array(
|
'short' => array(
|
||||||
'attention' => 'Attenzione!',
|
'attention' => 'Attenzione!',
|
||||||
|
|
0
sources/app/i18n/it/index.php
Executable file → Normal file
0
sources/app/i18n/it/index.php
Executable file → Normal file
10
sources/app/i18n/it/install.php
Executable file → Normal file
10
sources/app/i18n/it/install.php
Executable file → Normal file
|
@ -51,7 +51,7 @@ return array(
|
||||||
'ok' => 'I permessi sulla cartella data sono corretti.',
|
'ok' => 'I permessi sulla cartella data sono corretti.',
|
||||||
),
|
),
|
||||||
'dom' => array(
|
'dom' => array(
|
||||||
'nok' => 'Manca una libreria richiesta per leggere DOM (pacchetto php-xml).',
|
'nok' => 'Manca una libreria richiesta per leggere DOM.',
|
||||||
'ok' => 'Libreria richiesta per leggere DOM presente.',
|
'ok' => 'Libreria richiesta per leggere DOM presente.',
|
||||||
),
|
),
|
||||||
'favicons' => array(
|
'favicons' => array(
|
||||||
|
@ -62,6 +62,10 @@ return array(
|
||||||
'nok' => 'Per favore verifica che non stai alterando il tuo HTTP REFERER.',
|
'nok' => 'Per favore verifica che non stai alterando il tuo HTTP REFERER.',
|
||||||
'ok' => 'Il tuo HTTP REFERER riconosciuto corrisponde al tuo server.',
|
'ok' => 'Il tuo HTTP REFERER riconosciuto corrisponde al tuo server.',
|
||||||
),
|
),
|
||||||
|
'json' => array(
|
||||||
|
'nok' => 'You lack a recommended library to parse JSON.',
|
||||||
|
'ok' => 'You have a recommended library to parse JSON.',
|
||||||
|
),
|
||||||
'minz' => array(
|
'minz' => array(
|
||||||
'nok' => 'Manca il framework Minz.',
|
'nok' => 'Manca il framework Minz.',
|
||||||
'ok' => 'Framework Minz presente.',
|
'ok' => 'Framework Minz presente.',
|
||||||
|
@ -87,6 +91,10 @@ return array(
|
||||||
'nok' => 'Verifica i permessi sulla cartella <em>./data/users</em>. Il server HTTP deve avere i permessi per scriverci dentro',
|
'nok' => 'Verifica i permessi sulla cartella <em>./data/users</em>. Il server HTTP deve avere i permessi per scriverci dentro',
|
||||||
'ok' => 'I permessi sulla cartella users sono corretti.',
|
'ok' => 'I permessi sulla cartella users sono corretti.',
|
||||||
),
|
),
|
||||||
|
'xml' => array(
|
||||||
|
'nok' => 'You lack the required library to parse XML.',
|
||||||
|
'ok' => 'You have the required library to parse XML.',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
'conf' => array(
|
'conf' => array(
|
||||||
'_' => 'Configurazioni generali',
|
'_' => 'Configurazioni generali',
|
||||||
|
|
0
sources/app/i18n/it/sub.php
Executable file → Normal file
0
sources/app/i18n/it/sub.php
Executable file → Normal file
18
sources/app/i18n/nl/admin.php
Executable file → Normal file
18
sources/app/i18n/nl/admin.php
Executable file → Normal file
|
@ -120,7 +120,7 @@ return array(
|
||||||
'category' => 'Categorie',
|
'category' => 'Categorie',
|
||||||
'entry_count' => 'Invoer aantallen',
|
'entry_count' => 'Invoer aantallen',
|
||||||
'entry_per_category' => 'Aantallen per categorie',
|
'entry_per_category' => 'Aantallen per categorie',
|
||||||
'entry_per_day' => 'Aantallen per day (laatste 30 dagen)',
|
'entry_per_day' => 'Aantallen per dag (laatste 30 dagen)',
|
||||||
'entry_per_day_of_week' => 'Per dag of week (gemiddeld: %.2f berichten)',
|
'entry_per_day_of_week' => 'Per dag of week (gemiddeld: %.2f berichten)',
|
||||||
'entry_per_hour' => 'Per uur (gemiddeld: %.2f berichten)',
|
'entry_per_hour' => 'Per uur (gemiddeld: %.2f berichten)',
|
||||||
'entry_per_month' => 'Per maand (gemiddeld: %.2f berichten)',
|
'entry_per_month' => 'Per maand (gemiddeld: %.2f berichten)',
|
||||||
|
@ -147,14 +147,14 @@ return array(
|
||||||
'top_feed' => 'Top tien feeds',
|
'top_feed' => 'Top tien feeds',
|
||||||
),
|
),
|
||||||
'system' => array(
|
'system' => array(
|
||||||
'_' => 'System configuration', // @todo translate
|
'_' => 'Systeem configuratie',
|
||||||
'auto-update-url' => 'Auto-update server URL', // @todo translate
|
'auto-update-url' => 'Automatische update server URL',
|
||||||
'instance-name' => 'Instance name', // @todo translate
|
'instance-name' => 'Voorbeeld naam',
|
||||||
'max-categories' => 'Categories per user limit', // @todo translate
|
'max-categories' => 'Categoriën limiet per gebruiker',
|
||||||
'max-feeds' => 'Feeds per user limit', // @todo translate
|
'max-feeds' => 'Feed limiet per gebruiker',
|
||||||
'registration' => array(
|
'registration' => array(
|
||||||
'help' => '0 means that there is no account limit', // @todo translate
|
'help' => '0 betekent geen account limiet',
|
||||||
'number' => 'Max number of accounts', // @todo translate
|
'number' => 'Maximum aantal accounts',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
'update' => array(
|
'update' => array(
|
||||||
|
@ -178,7 +178,7 @@ return array(
|
||||||
'registration' => array(
|
'registration' => array(
|
||||||
'allow' => 'Sta het maken van nieuwe accounts toe',
|
'allow' => 'Sta het maken van nieuwe accounts toe',
|
||||||
'help' => '0 betekent dat er geen account limiet is',
|
'help' => '0 betekent dat er geen account limiet is',
|
||||||
'number' => 'Max aantal van accounts',
|
'number' => 'Max aantal accounts',
|
||||||
),
|
),
|
||||||
'title' => 'Beheer gebruikers',
|
'title' => 'Beheer gebruikers',
|
||||||
'user_list' => 'Lijst van gebruikers ',
|
'user_list' => 'Lijst van gebruikers ',
|
||||||
|
|
0
sources/app/i18n/nl/conf.php
Executable file → Normal file
0
sources/app/i18n/nl/conf.php
Executable file → Normal file
0
sources/app/i18n/nl/feedback.php
Executable file → Normal file
0
sources/app/i18n/nl/feedback.php
Executable file → Normal file
10
sources/app/i18n/nl/gen.php
Executable file → Normal file
10
sources/app/i18n/nl/gen.php
Executable file → Normal file
|
@ -108,7 +108,7 @@ return array(
|
||||||
'confirm_action' => 'Weet u zeker dat u dit wilt doen? Het kan niet ongedaan worden gemaakt!',
|
'confirm_action' => 'Weet u zeker dat u dit wilt doen? Het kan niet ongedaan worden gemaakt!',
|
||||||
'confirm_action_feed_cat' => 'Weet u zeker dat u dit wilt doen? U verliest alle gereleteerde favorieten en gebruikers informatie. Het kan niet ongedaan worden gemaakt!',
|
'confirm_action_feed_cat' => 'Weet u zeker dat u dit wilt doen? U verliest alle gereleteerde favorieten en gebruikers informatie. Het kan niet ongedaan worden gemaakt!',
|
||||||
'feedback' => array(
|
'feedback' => array(
|
||||||
'body_new_articles' => 'Er zijn \\d nieuwe artikelen om te lezen op FreshRSS.',
|
'body_new_articles' => 'Er zijn %%d nieuwe artikelen om te lezen op FreshRSS.',
|
||||||
'request_failed' => 'Een opdracht is mislukt, mogelijk door Internet verbindings problemen.',
|
'request_failed' => 'Een opdracht is mislukt, mogelijk door Internet verbindings problemen.',
|
||||||
'title_new_articles' => 'FreshRSS: nieuwe artikelen!',
|
'title_new_articles' => 'FreshRSS: nieuwe artikelen!',
|
||||||
),
|
),
|
||||||
|
@ -122,6 +122,8 @@ return array(
|
||||||
'fr' => 'Français',
|
'fr' => 'Français',
|
||||||
'it' => 'Italiano',
|
'it' => 'Italiano',
|
||||||
'nl' => 'Nederlands',
|
'nl' => 'Nederlands',
|
||||||
|
'ru' => 'Русский',
|
||||||
|
'tr' => 'Türkçe',
|
||||||
),
|
),
|
||||||
'menu' => array(
|
'menu' => array(
|
||||||
'about' => 'Over',
|
'about' => 'Over',
|
||||||
|
@ -139,7 +141,7 @@ return array(
|
||||||
'sharing' => 'Delen',
|
'sharing' => 'Delen',
|
||||||
'shortcuts' => 'Snelle toegang',
|
'shortcuts' => 'Snelle toegang',
|
||||||
'stats' => 'Statistieken',
|
'stats' => 'Statistieken',
|
||||||
'system' => 'System configuration', // @todo translate
|
'system' => 'Systeem configuratie',
|
||||||
'update' => 'Versie controle',
|
'update' => 'Versie controle',
|
||||||
'user_management' => 'Beheer gebruikers',
|
'user_management' => 'Beheer gebruikers',
|
||||||
'user_profile' => 'Profiel',
|
'user_profile' => 'Profiel',
|
||||||
|
@ -163,7 +165,9 @@ return array(
|
||||||
'print' => 'Print',
|
'print' => 'Print',
|
||||||
'shaarli' => 'Shaarli',
|
'shaarli' => 'Shaarli',
|
||||||
'twitter' => 'Twitter',
|
'twitter' => 'Twitter',
|
||||||
'wallabag' => 'wallabag',
|
'wallabag' => 'wallabag v1',
|
||||||
|
'wallabagv2' => 'wallabag v2',
|
||||||
|
'jdh' => 'Journal du hacker',
|
||||||
),
|
),
|
||||||
'short' => array(
|
'short' => array(
|
||||||
'attention' => 'Attentie!',
|
'attention' => 'Attentie!',
|
||||||
|
|
0
sources/app/i18n/nl/index.php
Executable file → Normal file
0
sources/app/i18n/nl/index.php
Executable file → Normal file
10
sources/app/i18n/nl/install.php
Executable file → Normal file
10
sources/app/i18n/nl/install.php
Executable file → Normal file
|
@ -51,7 +51,7 @@ return array(
|
||||||
'ok' => 'Permissies van de data map zijn goed.',
|
'ok' => 'Permissies van de data map zijn goed.',
|
||||||
),
|
),
|
||||||
'dom' => array(
|
'dom' => array(
|
||||||
'nok' => 'U mist een benodigde bibliotheek om te bladeren in de DOM (php-xml package).',
|
'nok' => 'U mist een benodigde bibliotheek om te bladeren in de DOM.',
|
||||||
'ok' => 'U hebt de benodigde bibliotheek om te bladeren in de DOM.',
|
'ok' => 'U hebt de benodigde bibliotheek om te bladeren in de DOM.',
|
||||||
),
|
),
|
||||||
'favicons' => array(
|
'favicons' => array(
|
||||||
|
@ -62,6 +62,10 @@ return array(
|
||||||
'nok' => 'Controleer a.u.b. dat u niet uw HTTP REFERER wijzigd.',
|
'nok' => 'Controleer a.u.b. dat u niet uw HTTP REFERER wijzigd.',
|
||||||
'ok' => 'Uw HTTP REFERER is bekend en komt overeen met uw server.',
|
'ok' => 'Uw HTTP REFERER is bekend en komt overeen met uw server.',
|
||||||
),
|
),
|
||||||
|
'json' => array(
|
||||||
|
'nok' => 'U mist een benodigede bibliotheek om JSON te gebruiken.',
|
||||||
|
'ok' => 'U hebt de benodigde bibliotheek om JSON te gebruiken.',
|
||||||
|
),
|
||||||
'minz' => array(
|
'minz' => array(
|
||||||
'nok' => 'U mist het Minz framework.',
|
'nok' => 'U mist het Minz framework.',
|
||||||
'ok' => 'U hebt het Minz framework.',
|
'ok' => 'U hebt het Minz framework.',
|
||||||
|
@ -86,6 +90,10 @@ return array(
|
||||||
'nok' => 'Controleer permissies van de <em>./data/users</em> map. HTTP server moet rechten hebben om er in te kunnen schrijven',
|
'nok' => 'Controleer permissies van de <em>./data/users</em> map. HTTP server moet rechten hebben om er in te kunnen schrijven',
|
||||||
'ok' => 'Permissies van de users map zijn goed.',
|
'ok' => 'Permissies van de users map zijn goed.',
|
||||||
),
|
),
|
||||||
|
'xml' => array(
|
||||||
|
'nok' => 'U mist de benodigde bibliotheek om XML te gebruiken.',
|
||||||
|
'ok' => 'U hebt de benodigde bibliotheek om XML te gebruiken.',
|
||||||
|
),
|
||||||
),
|
),
|
||||||
'conf' => array(
|
'conf' => array(
|
||||||
'_' => 'Algemene configuratie',
|
'_' => 'Algemene configuratie',
|
||||||
|
|
0
sources/app/i18n/nl/sub.php
Executable file → Normal file
0
sources/app/i18n/nl/sub.php
Executable file → Normal file
183
sources/app/i18n/ru/admin.php
Normal file
183
sources/app/i18n/ru/admin.php
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'auth' => array(
|
||||||
|
'allow_anonymous' => 'Разрешить анонимное чтение статей для пользователя по умолчанию (%s)',
|
||||||
|
'allow_anonymous_refresh' => 'Разрешить анонимное обновление статей',
|
||||||
|
'api_enabled' => 'Включить доступ к <abbr>API</abbr> <small>(необходимо для мобильных приложений)</small>',
|
||||||
|
'form' => 'На основе веб-формы (традиционный, необходим JavaScript)',
|
||||||
|
'http' => 'HTTP (для продвинутых пользователей - по HTTPS)',
|
||||||
|
'none' => 'Без аутентификации (небезопасный)',
|
||||||
|
'persona' => 'Mozilla Persona (новый, необходим JavaScript)',
|
||||||
|
'title' => 'Аутентификации',
|
||||||
|
'title_reset' => 'Сброс аутентицикации',
|
||||||
|
'token' => 'Токен аутентификации',
|
||||||
|
'token_help' => 'Разрешает доступ к RSS ленте пользователя по умолчанию без аутентификации:',
|
||||||
|
'type' => 'Метод аутентификации',
|
||||||
|
'unsafe_autologin' => 'Разрешить небезопасный автоматический вход с использованием следующего формата: ',
|
||||||
|
),
|
||||||
|
'check_install' => array(
|
||||||
|
'cache' => array(
|
||||||
|
'nok' => 'Проверьте права доступа к папке <em>./data/cache</em>. Сервер HTTP должен иметь права на запись в эту папку',
|
||||||
|
'ok' => 'Права на <em>./data/cache</em> в порядке.',
|
||||||
|
),
|
||||||
|
'categories' => array(
|
||||||
|
'nok' => 'Таблица категорий настроена неправильно.',
|
||||||
|
'ok' => 'Таблица категорий настроена правильно.',
|
||||||
|
),
|
||||||
|
'connection' => array(
|
||||||
|
'nok' => 'Подключение к базе данных не может быть установлено.',
|
||||||
|
'ok' => 'Подключение к базе данных в порядке.',
|
||||||
|
),
|
||||||
|
'ctype' => array(
|
||||||
|
'nok' => 'У вас не установлена библиотека для проверки типов символов (php-ctype).',
|
||||||
|
'ok' => 'У вас не установлена библиотека для проверки типов символов (ctype).',
|
||||||
|
),
|
||||||
|
'curl' => array(
|
||||||
|
'nok' => 'У вас не установлено расширение cURL (пакет php5-curl).',
|
||||||
|
'ok' => 'У вас установлено расширение cURL.',
|
||||||
|
),
|
||||||
|
'data' => array(
|
||||||
|
'nok' => 'Проверьте права доступа к папке <em>./data</em> . Сервер HTTP должен иметь права на запись в эту папку.',
|
||||||
|
'ok' => 'Права на <em>./data/</em> в порядке.',
|
||||||
|
),
|
||||||
|
'database' => 'Установка базы данных',
|
||||||
|
'dom' => array(
|
||||||
|
'nok' => 'У вас не установлена библиотека для просмотра DOM (пакет php-xml).',
|
||||||
|
'ok' => 'У вас установлена библиотека для просмотра DOM.',
|
||||||
|
),
|
||||||
|
'entries' => array(
|
||||||
|
'nok' => 'Таблица статей (entry) неправильно настроена.',
|
||||||
|
'ok' => 'Таблица статей (entry) настроена правильно.',
|
||||||
|
),
|
||||||
|
'favicons' => array(
|
||||||
|
'nok' => 'Проверьте права доступа к папке <em>./data/favicons</em> . Сервер HTTP должен иметь права на запись в эту папку.',
|
||||||
|
'ok' => 'Права на папку значков в порядке.',
|
||||||
|
),
|
||||||
|
'feeds' => array(
|
||||||
|
'nok' => 'Таблица подписок (feed) неправильно настроена.',
|
||||||
|
'ok' => 'Таблица подписок (feed) настроена правильно.',
|
||||||
|
),
|
||||||
|
'files' => 'Установка файлов',
|
||||||
|
'json' => array(
|
||||||
|
'nok' => 'У вас не установлена библиотека для работы с JSON (пакет php5-json).',
|
||||||
|
'ok' => 'У вас установлена библиотека для работы с JSON.',
|
||||||
|
),
|
||||||
|
'minz' => array(
|
||||||
|
'nok' => 'У вас не установлен фрейворк Minz.',
|
||||||
|
'ok' => 'У вас установлен фрейворк Minz.',
|
||||||
|
),
|
||||||
|
'pcre' => array(
|
||||||
|
'nok' => 'У вас не установлена необходимая библиотека для работы с регулярными выражениями (php-pcre).',
|
||||||
|
'ok' => 'У вас установлена необходимая библиотека для работы с регулярными выражениями (PCRE).',
|
||||||
|
),
|
||||||
|
'pdo' => array(
|
||||||
|
'nok' => 'У вас не установлен PDO или один из необходимых драйверов (pdo_mysql, pdo_sqlite).',
|
||||||
|
'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite).',
|
||||||
|
),
|
||||||
|
'persona' => array(
|
||||||
|
'nok' => 'Проверьте права доступа к папке <em>./data/persona</em> . Сервер HTTP должен иметь права на запись в эту папку.',
|
||||||
|
'ok' => 'Права на папку Mozilla Persona в порядке.',
|
||||||
|
),
|
||||||
|
'php' => array(
|
||||||
|
'_' => 'PHP installation',
|
||||||
|
'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.',
|
||||||
|
'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.',
|
||||||
|
),
|
||||||
|
'tables' => array(
|
||||||
|
'nok' => 'В базе данных отсуствует одна или больше таблица.',
|
||||||
|
'ok' => 'Все таблицы есть в базе данных.',
|
||||||
|
),
|
||||||
|
'title' => 'Проверка установки и настройки',
|
||||||
|
'tokens' => array(
|
||||||
|
'nok' => 'Проверьте права доступа к папке <em>./data/tokens</em> . Сервер HTTP должен иметь права на запись в эту папку.',
|
||||||
|
'ok' => 'Права на папку tokens в порядке.',
|
||||||
|
),
|
||||||
|
'users' => array(
|
||||||
|
'nok' => 'Проверьте права доступа к папке <em>./data/users</em> . Сервер HTTP должен иметь права на запись в эту папку.',
|
||||||
|
'ok' => 'Права на папку users в порядке.',
|
||||||
|
),
|
||||||
|
'zip' => array(
|
||||||
|
'nok' => 'You lack ZIP extension (php5-zip package).',
|
||||||
|
'ok' => 'You have ZIP extension.',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'extensions' => array(
|
||||||
|
'disabled' => 'Отключены',
|
||||||
|
'empty_list' => 'Расширения не установлены',
|
||||||
|
'enabled' => 'Включены',
|
||||||
|
'no_configure_view' => 'Это расширение нельзя настроить.',
|
||||||
|
'system' => array(
|
||||||
|
'_' => 'Системные расширения',
|
||||||
|
'no_rights' => 'Системные расширения (у вас нет к ним доступа)',
|
||||||
|
),
|
||||||
|
'title' => 'Расширения',
|
||||||
|
'user' => 'Расширения пользователя',
|
||||||
|
),
|
||||||
|
'stats' => array(
|
||||||
|
'_' => 'Статистика',
|
||||||
|
'all_feeds' => 'Все подписки',
|
||||||
|
'category' => 'Категория',
|
||||||
|
'entry_count' => 'Количество статей',
|
||||||
|
'entry_per_category' => 'Статей в категории',
|
||||||
|
'entry_per_day' => 'Статей за день (за последние 30 дней)',
|
||||||
|
'entry_per_day_of_week' => 'За неделю (в среднем - %.2f сообщений)',
|
||||||
|
'entry_per_hour' => 'За час (в среднем - %.2f сообщений)',
|
||||||
|
'entry_per_month' => 'За месяц (в среднем - %.2f сообщений)',
|
||||||
|
'entry_repartition' => 'Перерасределение статей',
|
||||||
|
'feed' => 'Подписка',
|
||||||
|
'feed_per_category' => 'Подписок в категории',
|
||||||
|
'idle' => 'Неактивные подписки',
|
||||||
|
'main' => 'Основная статистика',
|
||||||
|
'main_stream' => 'Основной поток',
|
||||||
|
'menu' => array(
|
||||||
|
'idle' => 'Неактивные подписки',
|
||||||
|
'main' => 'Основная статистика',
|
||||||
|
'repartition' => 'Перерасределение статей',
|
||||||
|
),
|
||||||
|
'no_idle' => 'Нет неактивных подписок!',
|
||||||
|
'number_entries' => 'статей: %d',
|
||||||
|
'percent_of_total' => '%% от всего',
|
||||||
|
'repartition' => 'Перераспределение статей',
|
||||||
|
'status_favorites' => 'Избранное',
|
||||||
|
'status_read' => 'Читать',
|
||||||
|
'status_total' => 'Всего',
|
||||||
|
'status_unread' => 'Не прочитано',
|
||||||
|
'title' => 'Статистика',
|
||||||
|
'top_feed' => '10 лучших подписок',
|
||||||
|
),
|
||||||
|
'system' => array(
|
||||||
|
'_' => 'Системные настройки',
|
||||||
|
'auto-update-url' => 'Адрес сервера для автоматического обновления',
|
||||||
|
'instance-name' => 'Название этого сервера',
|
||||||
|
'max-categories' => 'Количество категорий на пользователя',
|
||||||
|
'max-feeds' => 'Количество статей на пользователя',
|
||||||
|
'registration' => array(
|
||||||
|
'help' => '0 означает неограниченное количество пользователей',
|
||||||
|
'number' => 'Максимальное количество пользователей',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'update' => array(
|
||||||
|
'_' => 'Обновление системы',
|
||||||
|
'apply' => 'Применить',
|
||||||
|
'check' => 'Проверить обновления',
|
||||||
|
'current_version' => 'Ваша текущая версия FreshRSS: %s.',
|
||||||
|
'last' => 'Последняя проверка: %s',
|
||||||
|
'none' => 'Нечего обновлять',
|
||||||
|
'title' => 'Обновить систему',
|
||||||
|
),
|
||||||
|
'user' => array(
|
||||||
|
'articles_and_size' => '%s статей (%s)',
|
||||||
|
'create' => 'Создать нового пользователя',
|
||||||
|
'email_persona' => 'Адрес электронной почты для входа<br /><small>(for <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>',
|
||||||
|
'language' => 'Язык',
|
||||||
|
'number' => 'На данный момент создан %d аккаунт',
|
||||||
|
'numbers' => 'На данный момент аккаунтов создано: %d',
|
||||||
|
'password_form' => 'Пароль<br /><small>(для входа через Веб-форму)</small>',
|
||||||
|
'password_format' => 'Минимум 7 символов',
|
||||||
|
'title' => 'Управление пользователями',
|
||||||
|
'user_list' => 'Список пользователей',
|
||||||
|
'username' => 'Имя пользователя',
|
||||||
|
'users' => 'Пользователи',
|
||||||
|
),
|
||||||
|
);
|
174
sources/app/i18n/ru/conf.php
Normal file
174
sources/app/i18n/ru/conf.php
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'archiving' => array(
|
||||||
|
'_' => 'Архивация',
|
||||||
|
'advanced' => 'Продвинутые настройки',
|
||||||
|
'delete_after' => 'Удалять статьи после',
|
||||||
|
'help' => 'Каждую подписку можно настроить более гибко',
|
||||||
|
'keep_history_by_feed' => 'Minimum number of articles to keep by feed',
|
||||||
|
'optimize' => 'Оптимизировать базу данных',
|
||||||
|
'optimize_help' => 'To do occasionally to reduce the size of the database',
|
||||||
|
'purge_now' => 'Очистить сейчас',
|
||||||
|
'title' => 'Архивация',
|
||||||
|
'ttl' => 'Не обновлять чаще чем',
|
||||||
|
),
|
||||||
|
'display' => array(
|
||||||
|
'_' => 'Display',
|
||||||
|
'icon' => array(
|
||||||
|
'bottom_line' => 'Bottom line',
|
||||||
|
'entry' => 'Article icons',
|
||||||
|
'publication_date' => 'Date of publication',
|
||||||
|
'related_tags' => 'Related tags',
|
||||||
|
'sharing' => 'Sharing',
|
||||||
|
'top_line' => 'Top line',
|
||||||
|
),
|
||||||
|
'language' => 'Язык',
|
||||||
|
'notif_html5' => array(
|
||||||
|
'seconds' => 'seconds (0 means no timeout)',
|
||||||
|
'timeout' => 'HTML5 notification timeout',
|
||||||
|
),
|
||||||
|
'theme' => 'Тема',
|
||||||
|
'title' => 'Display',
|
||||||
|
'width' => array(
|
||||||
|
'content' => 'Content width',
|
||||||
|
'large' => 'Large',
|
||||||
|
'medium' => 'Medium',
|
||||||
|
'no_limit' => 'No limit',
|
||||||
|
'thin' => 'Thin',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'query' => array(
|
||||||
|
'_' => 'User queries',
|
||||||
|
'deprecated' => 'This query is no longer valid. The referenced category or feed has been deleted.',
|
||||||
|
'filter' => 'Filter applied:',
|
||||||
|
'get_all' => 'Display all articles',
|
||||||
|
'get_category' => 'Display "%s" category',
|
||||||
|
'get_favorite' => 'Display favorite articles',
|
||||||
|
'get_feed' => 'Display "%s" feed',
|
||||||
|
'no_filter' => 'No filter',
|
||||||
|
'none' => 'You haven’t created any user query yet.',
|
||||||
|
'number' => 'Query n°%d',
|
||||||
|
'order_asc' => 'Display oldest articles first',
|
||||||
|
'order_desc' => 'Display newest articles first',
|
||||||
|
'search' => 'Search for "%s"',
|
||||||
|
'state_0' => 'Display all articles',
|
||||||
|
'state_1' => 'Display read articles',
|
||||||
|
'state_2' => 'Display unread articles',
|
||||||
|
'state_3' => 'Display all articles',
|
||||||
|
'state_4' => 'Display favorite articles',
|
||||||
|
'state_5' => 'Display read favorite articles',
|
||||||
|
'state_6' => 'Display unread favorite articles',
|
||||||
|
'state_7' => 'Display favorite articles',
|
||||||
|
'state_8' => 'Display not favorite articles',
|
||||||
|
'state_9' => 'Display read not favorite articles',
|
||||||
|
'state_10' => 'Display unread not favorite articles',
|
||||||
|
'state_11' => 'Display not favorite articles',
|
||||||
|
'state_12' => 'Display all articles',
|
||||||
|
'state_13' => 'Display read articles',
|
||||||
|
'state_14' => 'Display unread articles',
|
||||||
|
'state_15' => 'Display all articles',
|
||||||
|
'title' => 'User queries',
|
||||||
|
),
|
||||||
|
'profile' => array(
|
||||||
|
'_' => 'Profile management',
|
||||||
|
'delete' => array(
|
||||||
|
'_' => 'Account deletion',
|
||||||
|
'warn' => 'Your account and all the related data will be deleted.',
|
||||||
|
),
|
||||||
|
'email_persona' => 'Login email address<br /><small>(for <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>',
|
||||||
|
'password_api' => 'Password API<br /><small>(e.g., for mobile apps)</small>',
|
||||||
|
'password_form' => 'Password<br /><small>(for the Web-form login method)</small>',
|
||||||
|
'password_format' => 'At least 7 characters',
|
||||||
|
'title' => 'Profile',
|
||||||
|
),
|
||||||
|
'reading' => array(
|
||||||
|
'_' => 'Reading',
|
||||||
|
'after_onread' => 'After “mark all as read”,',
|
||||||
|
'articles_per_page' => 'Number of articles per page',
|
||||||
|
'auto_load_more' => 'Load next articles at the page bottom',
|
||||||
|
'auto_remove_article' => 'Hide articles after reading',
|
||||||
|
'mark_updated_article_unread' => 'Mark updated articles as unread',
|
||||||
|
'confirm_enabled' => 'Display a confirmation dialog on “mark all as read” actions',
|
||||||
|
'display_articles_unfolded' => 'Show articles unfolded by default',
|
||||||
|
'display_categories_unfolded' => 'Show categories folded by default',
|
||||||
|
'hide_read_feeds' => 'Hide categories & feeds with no unread article (does not work with “Show all articles” configuration)',
|
||||||
|
'img_with_lazyload' => 'Use "lazy load" mode to load pictures',
|
||||||
|
'jump_next' => 'jump to next unread sibling (feed or category)',
|
||||||
|
'number_divided_when_reader' => 'Divided by 2 in the reading view.',
|
||||||
|
'read' => array(
|
||||||
|
'article_open_on_website' => 'when article is opened on its original website',
|
||||||
|
'article_viewed' => 'when article is viewed',
|
||||||
|
'scroll' => 'while scrolling',
|
||||||
|
'upon_reception' => 'upon reception of the article',
|
||||||
|
'when' => 'Mark article as read…',
|
||||||
|
),
|
||||||
|
'show' => array(
|
||||||
|
'_' => 'Articles to display',
|
||||||
|
'adaptive' => 'Adjust showing',
|
||||||
|
'all_articles' => 'Show all articles',
|
||||||
|
'unread' => 'Show only unread',
|
||||||
|
),
|
||||||
|
'sort' => array(
|
||||||
|
'_' => 'Sort order',
|
||||||
|
'newer_first' => 'Newer first',
|
||||||
|
'older_first' => 'Oldest first',
|
||||||
|
),
|
||||||
|
'sticky_post' => 'Stick the article to the top when opened',
|
||||||
|
'title' => 'Reading',
|
||||||
|
'view' => array(
|
||||||
|
'default' => 'Default view',
|
||||||
|
'global' => 'Global view',
|
||||||
|
'normal' => 'Normal view',
|
||||||
|
'reader' => 'Reading view',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'sharing' => array(
|
||||||
|
'_' => 'Sharing',
|
||||||
|
'blogotext' => 'Blogotext',
|
||||||
|
'diaspora' => 'Diaspora*',
|
||||||
|
'email' => 'Email',
|
||||||
|
'facebook' => 'Facebook',
|
||||||
|
'g+' => 'Google+',
|
||||||
|
'more_information' => 'More information',
|
||||||
|
'print' => 'Print',
|
||||||
|
'shaarli' => 'Shaarli',
|
||||||
|
'share_name' => 'Share name to display',
|
||||||
|
'share_url' => 'Share URL to use',
|
||||||
|
'title' => 'Sharing',
|
||||||
|
'twitter' => 'Twitter',
|
||||||
|
'wallabag' => 'wallabag',
|
||||||
|
),
|
||||||
|
'shortcut' => array(
|
||||||
|
'_' => 'Shortcuts',
|
||||||
|
'article_action' => 'Article actions',
|
||||||
|
'auto_share' => 'Share',
|
||||||
|
'auto_share_help' => 'If there is only one sharing mode, it is used. Else modes are accessible by their number.',
|
||||||
|
'close_dropdown' => 'Close menus',
|
||||||
|
'collapse_article' => 'Collapse',
|
||||||
|
'first_article' => 'Skip to the first article',
|
||||||
|
'focus_search' => 'Access search box',
|
||||||
|
'help' => 'Display documentation',
|
||||||
|
'javascript' => 'JavaScript must be enabled in order to use shortcuts',
|
||||||
|
'last_article' => 'Skip to the last article',
|
||||||
|
'load_more' => 'Load more articles',
|
||||||
|
'mark_read' => 'Mark as read',
|
||||||
|
'mark_favorite' => 'Mark as favourite',
|
||||||
|
'navigation' => 'Navigation',
|
||||||
|
'navigation_help' => 'With the "Shift" modifier, navigation shortcuts apply on feeds.<br/>With the "Alt" modifier, navigation shortcuts apply on categories.',
|
||||||
|
'next_article' => 'Skip to the next article',
|
||||||
|
'other_action' => 'Other actions',
|
||||||
|
'previous_article' => 'Skip to the previous article',
|
||||||
|
'see_on_website' => 'See on original website',
|
||||||
|
'shift_for_all_read' => '+ <code>shift</code> to mark all articles as read',
|
||||||
|
'title' => 'Shortcuts',
|
||||||
|
'user_filter' => 'Access user filters',
|
||||||
|
'user_filter_help' => 'If there is only one user filter, it is used. Else filters are accessible by their number.',
|
||||||
|
),
|
||||||
|
'user' => array(
|
||||||
|
'articles_and_size' => '%s articles (%s)',
|
||||||
|
'current' => 'Current user',
|
||||||
|
'is_admin' => 'is administrator',
|
||||||
|
'users' => 'Users',
|
||||||
|
),
|
||||||
|
);
|
110
sources/app/i18n/ru/feedback.php
Normal file
110
sources/app/i18n/ru/feedback.php
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'admin' => array(
|
||||||
|
'optimization_complete' => 'Optimisation complete',
|
||||||
|
),
|
||||||
|
'access' => array(
|
||||||
|
'denied' => 'You don’t have permission to access this page',
|
||||||
|
'not_found' => 'You are looking for a page which doesn’t exist',
|
||||||
|
),
|
||||||
|
'auth' => array(
|
||||||
|
'form' => array(
|
||||||
|
'not_set' => 'A problem occured during authentication system configuration. Please retry later.',
|
||||||
|
'set' => 'Form is now your default authentication system.',
|
||||||
|
),
|
||||||
|
'login' => array(
|
||||||
|
'invalid' => 'Login is invalid',
|
||||||
|
'success' => 'You are connected',
|
||||||
|
),
|
||||||
|
'logout' => array(
|
||||||
|
'success' => 'You are disconnected',
|
||||||
|
),
|
||||||
|
'no_password_set' => 'Administrator password hasn’t been set. This feature isn’t available.',
|
||||||
|
'not_persona' => 'Only Persona system can be reset.',
|
||||||
|
),
|
||||||
|
'conf' => array(
|
||||||
|
'error' => 'An error occurred during configuration saving',
|
||||||
|
'query_created' => 'Query "%s" has been created.',
|
||||||
|
'shortcuts_updated' => 'Shortcuts have been updated',
|
||||||
|
'updated' => 'Configuration has been updated',
|
||||||
|
),
|
||||||
|
'extensions' => array(
|
||||||
|
'already_enabled' => '%s is already enabled',
|
||||||
|
'disable' => array(
|
||||||
|
'ko' => '%s cannot be disabled. <a href="%s">Check FressRSS logs</a> for details.',
|
||||||
|
'ok' => '%s is now disabled',
|
||||||
|
),
|
||||||
|
'enable' => array(
|
||||||
|
'ko' => '%s cannot be enabled. <a href="%s">Check FressRSS logs</a> for details.',
|
||||||
|
'ok' => '%s is now enabled',
|
||||||
|
),
|
||||||
|
'no_access' => 'You have no access on %s',
|
||||||
|
'not_enabled' => '%s is not enabled yet',
|
||||||
|
'not_found' => '%s does not exist',
|
||||||
|
),
|
||||||
|
'import_export' => array(
|
||||||
|
'export_no_zip_extension' => 'Zip extension is not present on your server. Please try to export files one by one.',
|
||||||
|
'feeds_imported' => 'Your feeds have been imported and will now be updated',
|
||||||
|
'feeds_imported_with_errors' => 'Your feeds have been imported but some errors occurred',
|
||||||
|
'file_cannot_be_uploaded' => 'File cannot be uploaded!',
|
||||||
|
'no_zip_extension' => 'Zip extension is not present on your server.',
|
||||||
|
'zip_error' => 'An error occured during Zip import.',
|
||||||
|
),
|
||||||
|
'sub' => array(
|
||||||
|
'actualize' => 'Actualise',
|
||||||
|
'category' => array(
|
||||||
|
'created' => 'Category %s has been created.',
|
||||||
|
'deleted' => 'Category has been deleted.',
|
||||||
|
'emptied' => 'Category has been emptied',
|
||||||
|
'error' => 'Category cannot be updated',
|
||||||
|
'name_exists' => 'Category name already exists.',
|
||||||
|
'no_id' => 'You must precise the id of the category.',
|
||||||
|
'no_name' => 'Category name cannot be empty.',
|
||||||
|
'not_delete_default' => 'You cannot delete the default category!',
|
||||||
|
'not_exist' => 'The category does not exist!',
|
||||||
|
'over_max' => 'You have reached your limit of categories (%d)',
|
||||||
|
'updated' => 'Category has been updated.',
|
||||||
|
),
|
||||||
|
'feed' => array(
|
||||||
|
'actualized' => '<em>%s</em> has been updated',
|
||||||
|
'actualizeds' => 'RSS feeds have been updated',
|
||||||
|
'added' => 'RSS feed <em>%s</em> has been added',
|
||||||
|
'already_subscribed' => 'You have already subscribed to <em>%s</em>',
|
||||||
|
'deleted' => 'Feed has been deleted',
|
||||||
|
'error' => 'Feed cannot be updated',
|
||||||
|
'internal_problem' => 'The RSS feed could not be added. <a href="%s">Check FressRSS logs</a> for details.',
|
||||||
|
'invalid_url' => 'URL <em>%s</em> is invalid',
|
||||||
|
'marked_read' => 'Feeds have been marked as read',
|
||||||
|
'n_actualized' => '%d feeds have been updated',
|
||||||
|
'n_entries_deleted' => '%d articles have been deleted',
|
||||||
|
'no_refresh' => 'There is no feed to refresh…',
|
||||||
|
'not_added' => '<em>%s</em> could not be added',
|
||||||
|
'over_max' => 'You have reached your limit of feeds (%d)',
|
||||||
|
'updated' => 'Feed has been updated',
|
||||||
|
),
|
||||||
|
'purge_completed' => 'Purge completed (%d articles deleted)',
|
||||||
|
),
|
||||||
|
'update' => array(
|
||||||
|
'can_apply' => 'FreshRSS will now be updated to the <strong>version %s</strong>.',
|
||||||
|
'error' => 'The update process has encountered an error: %s',
|
||||||
|
'file_is_nok' => 'Check permissions on <em>%s</em> directory. HTTP server must have rights to write into',
|
||||||
|
'finished' => 'Update completed!',
|
||||||
|
'none' => 'No update to apply',
|
||||||
|
'server_not_found' => 'Update server cannot be found. [%s]',
|
||||||
|
),
|
||||||
|
'user' => array(
|
||||||
|
'created' => array(
|
||||||
|
'_' => 'User %s has been created',
|
||||||
|
'error' => 'User %s cannot be created',
|
||||||
|
),
|
||||||
|
'deleted' => array(
|
||||||
|
'_' => 'User %s has been deleted',
|
||||||
|
'error' => 'User %s cannot be deleted',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'profile' => array(
|
||||||
|
'error' => 'Your profile cannot be modified',
|
||||||
|
'updated' => 'Your profile has been modified',
|
||||||
|
),
|
||||||
|
);
|
185
sources/app/i18n/ru/gen.php
Normal file
185
sources/app/i18n/ru/gen.php
Normal file
|
@ -0,0 +1,185 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'action' => array(
|
||||||
|
'actualize' => 'Actualize',
|
||||||
|
'back_to_rss_feeds' => '← Go back to your RSS feeds',
|
||||||
|
'cancel' => 'Cancel',
|
||||||
|
'create' => 'Create',
|
||||||
|
'disable' => 'Disable',
|
||||||
|
'empty' => 'Empty',
|
||||||
|
'enable' => 'Enable',
|
||||||
|
'export' => 'Export',
|
||||||
|
'filter' => 'Filter',
|
||||||
|
'import' => 'Import',
|
||||||
|
'manage' => 'Manage',
|
||||||
|
'mark_read' => 'Mark as read',
|
||||||
|
'mark_favorite' => 'Mark as favourite',
|
||||||
|
'remove' => 'Remove',
|
||||||
|
'see_website' => 'See website',
|
||||||
|
'submit' => 'Submit',
|
||||||
|
'truncate' => 'Delete all articles',
|
||||||
|
),
|
||||||
|
'auth' => array(
|
||||||
|
'email' => 'Email address',
|
||||||
|
'keep_logged_in' => 'Keep me logged in <small>(1 month)</small>',
|
||||||
|
'login' => 'Login',
|
||||||
|
'login_persona' => 'Login with Persona',
|
||||||
|
'login_persona_problem' => 'Connection problem with Persona?',
|
||||||
|
'logout' => 'Logout',
|
||||||
|
'password' => array(
|
||||||
|
'_' => 'Password',
|
||||||
|
'format' => '<small>At least 7 characters</small>',
|
||||||
|
),
|
||||||
|
'registration' => array(
|
||||||
|
'_' => 'New account',
|
||||||
|
'ask' => 'Create an account?',
|
||||||
|
'title' => 'Account creation',
|
||||||
|
),
|
||||||
|
'reset' => 'Authentication reset',
|
||||||
|
'username' => array(
|
||||||
|
'_' => 'Username',
|
||||||
|
'admin' => 'Administrator username',
|
||||||
|
'format' => '<small>maximum 16 alphanumeric characters</small>',
|
||||||
|
),
|
||||||
|
'will_reset' => 'Authentication system will be reset: a form will be used instead of Persona.',
|
||||||
|
),
|
||||||
|
'date' => array(
|
||||||
|
'Apr' => '\\A\\p\\r\\i\\l',
|
||||||
|
'Aug' => '\\A\\u\\g\\u\\s\\t',
|
||||||
|
'Dec' => '\\D\\e\\c\\e\\m\\b\\e\\r',
|
||||||
|
'Feb' => '\\F\\e\\b\\r\\u\\a\\r\\y',
|
||||||
|
'Jan' => '\\J\\a\\n\\u\\a\\r\\y',
|
||||||
|
'Jul' => '\\J\\u\\l\\y',
|
||||||
|
'Jun' => '\\J\\u\\n\\e',
|
||||||
|
'Mar' => '\\M\\a\\r\\c\\h',
|
||||||
|
'May' => '\\M\\a\\y',
|
||||||
|
'Nov' => '\\N\\o\\v\\e\\m\\b\\e\\r',
|
||||||
|
'Oct' => '\\O\\c\\t\\o\\b\\e\\r',
|
||||||
|
'Sep' => '\\S\\e\\p\\t\\e\\m\\b\\e\\r',
|
||||||
|
'apr' => 'apr',
|
||||||
|
'april' => 'Apr',
|
||||||
|
'aug' => 'aug',
|
||||||
|
'august' => 'Aug',
|
||||||
|
'before_yesterday' => 'Before yesterday',
|
||||||
|
'dec' => 'dec',
|
||||||
|
'december' => 'Dec',
|
||||||
|
'feb' => 'feb',
|
||||||
|
'february' => 'Feb',
|
||||||
|
'format_date' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y',
|
||||||
|
'format_date_hour' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y \\a\\t H\\:i',
|
||||||
|
'fri' => 'Fri',
|
||||||
|
'jan' => 'jan',
|
||||||
|
'january' => 'Jan',
|
||||||
|
'jul' => 'jul',
|
||||||
|
'july' => 'Jul',
|
||||||
|
'jun' => 'jun',
|
||||||
|
'june' => 'Jun',
|
||||||
|
'last_3_month' => 'Last three months',
|
||||||
|
'last_6_month' => 'Last six months',
|
||||||
|
'last_month' => 'Last month',
|
||||||
|
'last_week' => 'Last week',
|
||||||
|
'last_year' => 'Last year',
|
||||||
|
'mar' => 'mar',
|
||||||
|
'march' => 'Mar',
|
||||||
|
'may' => 'May',
|
||||||
|
'mon' => 'Mon',
|
||||||
|
'month' => 'months',
|
||||||
|
'nov' => 'nov',
|
||||||
|
'november' => 'Nov',
|
||||||
|
'oct' => 'oct',
|
||||||
|
'october' => 'Oct',
|
||||||
|
'sat' => 'Sat',
|
||||||
|
'sep' => 'sep',
|
||||||
|
'september' => 'Sep',
|
||||||
|
'sun' => 'Sun',
|
||||||
|
'thu' => 'Thu',
|
||||||
|
'today' => 'Today',
|
||||||
|
'tue' => 'Tue',
|
||||||
|
'wed' => 'Wed',
|
||||||
|
'yesterday' => 'Yesterday',
|
||||||
|
),
|
||||||
|
'freshrss' => array(
|
||||||
|
'_' => 'FreshRSS',
|
||||||
|
'about' => 'About FreshRSS',
|
||||||
|
),
|
||||||
|
'js' => array(
|
||||||
|
'category_empty' => 'Empty category',
|
||||||
|
'confirm_action' => 'Are you sure you want to perform this action? It cannot be cancelled!',
|
||||||
|
'confirm_action_feed_cat' => 'Are you sure you want to perform this action? You will lose related favorites and user queries. It cannot be cancelled!',
|
||||||
|
'feedback' => array(
|
||||||
|
'body_new_articles' => 'There are %%d new articles to read on FreshRSS.',
|
||||||
|
'request_failed' => 'A request has failed, it may have been caused by Internet connection problems.',
|
||||||
|
'title_new_articles' => 'FreshRSS: new articles!',
|
||||||
|
),
|
||||||
|
'new_article' => 'There are new available articles, click to refresh the page.',
|
||||||
|
'should_be_activated' => 'JavaScript must be enabled',
|
||||||
|
),
|
||||||
|
'lang' => array(
|
||||||
|
'cz' => 'Čeština',
|
||||||
|
'de' => 'Deutsch',
|
||||||
|
'en' => 'English',
|
||||||
|
'fr' => 'Français',
|
||||||
|
'it' => 'Italiano',
|
||||||
|
'nl' => 'Nederlands',
|
||||||
|
'ru' => 'Русский',
|
||||||
|
'tr' => 'Türkçe',
|
||||||
|
),
|
||||||
|
'menu' => array(
|
||||||
|
'about' => 'About',
|
||||||
|
'admin' => 'Administration',
|
||||||
|
'archiving' => 'Archiving',
|
||||||
|
'authentication' => 'Authentication',
|
||||||
|
'check_install' => 'Installation checking',
|
||||||
|
'configuration' => 'Configuration',
|
||||||
|
'display' => 'Display',
|
||||||
|
'extensions' => 'Extensions',
|
||||||
|
'logs' => 'Logs',
|
||||||
|
'queries' => 'User queries',
|
||||||
|
'reading' => 'Reading',
|
||||||
|
'search' => 'Search words or #tags',
|
||||||
|
'sharing' => 'Sharing',
|
||||||
|
'shortcuts' => 'Shortcuts',
|
||||||
|
'stats' => 'Statistics',
|
||||||
|
'system' => 'System configuration',
|
||||||
|
'update' => 'Update',
|
||||||
|
'user_management' => 'Manage users',
|
||||||
|
'user_profile' => 'Profile',
|
||||||
|
),
|
||||||
|
'pagination' => array(
|
||||||
|
'first' => 'First',
|
||||||
|
'last' => 'Last',
|
||||||
|
'load_more' => 'Load more articles',
|
||||||
|
'mark_all_read' => 'Mark all as read',
|
||||||
|
'next' => 'Next',
|
||||||
|
'nothing_to_load' => 'There are no more articles',
|
||||||
|
'previous' => 'Previous',
|
||||||
|
),
|
||||||
|
'share' => array(
|
||||||
|
'blogotext' => 'Blogotext',
|
||||||
|
'diaspora' => 'Diaspora*',
|
||||||
|
'email' => 'Email',
|
||||||
|
'facebook' => 'Facebook',
|
||||||
|
'g+' => 'Google+',
|
||||||
|
'jdh' => 'Journal du hacker',
|
||||||
|
'movim' => 'Movim',
|
||||||
|
'print' => 'Print',
|
||||||
|
'shaarli' => 'Shaarli',
|
||||||
|
'twitter' => 'Twitter',
|
||||||
|
'wallabag' => 'wallabag v1',
|
||||||
|
'wallabagv2' => 'wallabag v2',
|
||||||
|
),
|
||||||
|
'short' => array(
|
||||||
|
'attention' => 'Warning!',
|
||||||
|
'blank_to_disable' => 'Leave blank to disable',
|
||||||
|
'by_author' => 'By <em>%s</em>',
|
||||||
|
'by_default' => 'By default',
|
||||||
|
'damn' => 'Damn!',
|
||||||
|
'default_category' => 'Uncategorized',
|
||||||
|
'no' => 'No',
|
||||||
|
'not_applicable' => 'Not available',
|
||||||
|
'ok' => 'Ok!',
|
||||||
|
'or' => 'or',
|
||||||
|
'yes' => 'Yes',
|
||||||
|
),
|
||||||
|
);
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue