aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/i18n/cs/api.php33
-rw-r--r--app/i18n/de/api.php33
-rw-r--r--app/i18n/el/api.php33
-rw-r--r--app/i18n/en-us/api.php33
-rw-r--r--app/i18n/en/api.php33
-rw-r--r--app/i18n/es/api.php33
-rw-r--r--app/i18n/fa/api.php33
-rw-r--r--app/i18n/fi/api.php33
-rw-r--r--app/i18n/fr/api.php33
-rw-r--r--app/i18n/he/api.php33
-rw-r--r--app/i18n/hu/api.php33
-rw-r--r--app/i18n/id/api.php33
-rw-r--r--app/i18n/it/api.php33
-rw-r--r--app/i18n/ja/api.php33
-rw-r--r--app/i18n/ko/api.php33
-rw-r--r--app/i18n/lv/api.php33
-rw-r--r--app/i18n/nl/api.php33
-rw-r--r--app/i18n/oc/api.php33
-rw-r--r--app/i18n/pl/api.php33
-rw-r--r--app/i18n/pt-br/api.php33
-rw-r--r--app/i18n/pt-pt/api.php33
-rw-r--r--app/i18n/ru/api.php33
-rw-r--r--app/i18n/sk/api.php33
-rw-r--r--app/i18n/tr/api.php33
-rw-r--r--app/i18n/zh-cn/api.php33
-rw-r--r--app/i18n/zh-tw/api.php33
-rw-r--r--docs/i18n/flags/gen/el.svg2
-rw-r--r--docs/i18n/flags/gen/en-us.svg2
-rw-r--r--docs/i18n/flags/gen/es.svg2
-rw-r--r--docs/i18n/flags/gen/fa.svg2
-rw-r--r--docs/i18n/flags/gen/fi.svg2
-rw-r--r--docs/i18n/flags/gen/he.svg2
-rw-r--r--docs/i18n/flags/gen/hu.svg2
-rw-r--r--docs/i18n/flags/gen/id.svg2
-rw-r--r--docs/i18n/flags/gen/it.svg2
-rw-r--r--docs/i18n/flags/gen/ja.svg2
-rw-r--r--docs/i18n/flags/gen/lv.svg2
-rw-r--r--docs/i18n/flags/gen/nl.svg2
-rw-r--r--docs/i18n/flags/gen/oc.svg2
-rw-r--r--docs/i18n/flags/gen/pt-br.svg2
-rw-r--r--docs/i18n/flags/gen/pt-pt.svg2
-rw-r--r--docs/i18n/flags/gen/sk.svg2
-rw-r--r--docs/i18n/flags/gen/tr.svg2
-rw-r--r--p/api/index.php58
-rw-r--r--p/scripts/api.js114
45 files changed, 979 insertions, 85 deletions
diff --git a/app/i18n/cs/api.php b/app/i18n/cs/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/cs/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/de/api.php b/app/i18n/de/api.php
new file mode 100644
index 000000000..79c36a6af
--- /dev/null
+++ b/app/i18n/de/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'API-Adresse:',
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARNUNG: Kein <code>%2F</code> support, Einige Clients/Apps funktionieren ggf. nicht!',
+ 'invalid-configuration' => '⚠️ WARNUNG: Die Base URL in ./data/config.php könnte ungültig sein',
+ 'pass' => '✔️ OK',
+ 'unknown-error' => '❌ ', // IGNORE
+ ),
+ 'test' => array(
+ 'fever' => 'Prüfung der Fever API Einstellungen:',
+ 'greader' => 'Prüfung der Google Reader API Einstellungen:',
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API-Endpoints',
+ 'extension' => 'API für Erweiterungen',
+ 'fever' => 'Fever kompatible API',
+ 'greader' => 'Google Reader kompatible API',
+ ),
+ ),
+);
diff --git a/app/i18n/el/api.php b/app/i18n/el/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/el/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/en-us/api.php b/app/i18n/en-us/api.php
new file mode 100644
index 000000000..be50cb63d
--- /dev/null
+++ b/app/i18n/en-us/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // IGNORE
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // IGNORE
+ 'greader' => 'Google Reader API configuration test:', // IGNORE
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // IGNORE
+ 'extension' => 'API for extensions', // IGNORE
+ 'fever' => 'Fever compatible API', // IGNORE
+ 'greader' => 'Google Reader compatible API', // IGNORE
+ ),
+ ),
+);
diff --git a/app/i18n/en/api.php b/app/i18n/en/api.php
new file mode 100644
index 000000000..850fc04f0
--- /dev/null
+++ b/app/i18n/en/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:',
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:',
+ 'greader' => 'Google Reader API configuration test:',
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints',
+ 'extension' => 'API for extensions',
+ 'fever' => 'Fever compatible API',
+ 'greader' => 'Google Reader compatible API',
+ ),
+ ),
+);
diff --git a/app/i18n/es/api.php b/app/i18n/es/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/es/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/fa/api.php b/app/i18n/fa/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/fa/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/fi/api.php b/app/i18n/fi/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/fi/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/fr/api.php b/app/i18n/fr/api.php
new file mode 100644
index 000000000..3bb80d9ce
--- /dev/null
+++ b/app/i18n/fr/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Adresse de votre API :',
+ 'output' => array(
+ 'encoding-support' => '⚠️ Avertissement : pas de support <code>%2F</code> ; certains clients pourraient ne pas fonctionner !',
+ 'invalid-configuration' => '⚠️ Avertissement : <code>base_url</code> probablement invalide dans <kbd>./data/config.php</kbd>',
+ 'pass' => '✔️ Succès',
+ 'unknown-error' => '❌ ', // IGNORE
+ ),
+ 'test' => array(
+ 'fever' => 'Test de configuration de l’API Fever :',
+ 'greader' => 'Test de configuration de l’API Google Reader :',
+ ),
+ 'title' => array(
+ '_' => 'API de FreshRSS',
+ 'extension' => 'API des extensions',
+ 'fever' => 'API compatible avec l’API Fever',
+ 'greader' => 'API compatible avec l’API Google Reader',
+ ),
+ ),
+);
diff --git a/app/i18n/he/api.php b/app/i18n/he/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/he/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/hu/api.php b/app/i18n/hu/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/hu/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/id/api.php b/app/i18n/id/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/id/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/it/api.php b/app/i18n/it/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/it/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/ja/api.php b/app/i18n/ja/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/ja/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/ko/api.php b/app/i18n/ko/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/ko/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/lv/api.php b/app/i18n/lv/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/lv/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/nl/api.php b/app/i18n/nl/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/nl/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/oc/api.php b/app/i18n/oc/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/oc/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/pl/api.php b/app/i18n/pl/api.php
new file mode 100644
index 000000000..406ee6d72
--- /dev/null
+++ b/app/i18n/pl/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Twój adres API:',
+ 'output' => array(
+ 'encoding-support' => '⚠️ UWAGA: brak wsparcia dla <code>%2F</code>, niektóre aplikacje mogą nie działać!',
+ 'invalid-configuration' => '⚠️ UWAGA: Prawdopodobnie nieprawidłowy bazowy URL w ./data/config.php',
+ 'pass' => '✔️ OK',
+ 'unknown-error' => '❌ ', // IGNORE
+ ),
+ 'test' => array(
+ 'fever' => 'Test konfiguracji Fever API:',
+ 'greader' => 'Test konfiguracji Google Reader API:',
+ ),
+ 'title' => array(
+ '_' => 'Endpointy API FreshRSS',
+ 'extension' => 'API dla rozszerzeń',
+ 'fever' => 'API kompatybilne z Fever',
+ 'greader' => 'API kompatybilne z Google Reader',
+ ),
+ ),
+);
diff --git a/app/i18n/pt-br/api.php b/app/i18n/pt-br/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/pt-br/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/pt-pt/api.php b/app/i18n/pt-pt/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/pt-pt/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/ru/api.php b/app/i18n/ru/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/ru/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/sk/api.php b/app/i18n/sk/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/sk/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/tr/api.php b/app/i18n/tr/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/tr/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/zh-cn/api.php b/app/i18n/zh-cn/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/zh-cn/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/app/i18n/zh-tw/api.php b/app/i18n/zh-tw/api.php
new file mode 100644
index 000000000..6a0eedb08
--- /dev/null
+++ b/app/i18n/zh-tw/api.php
@@ -0,0 +1,33 @@
+<?php
+
+/******************************************************************************/
+/* Each entry of that file can be associated with a comment to indicate its */
+/* state. When there is no comment, it means the entry is fully translated. */
+/* The recognized comments are (comment matching is case-insensitive): */
+/* + TODO: the entry has never been translated. */
+/* + DIRTY: the entry has been translated but needs to be updated. */
+/* + IGNORE: the entry does not need to be translated. */
+/* When a comment is not recognized, it is discarded. */
+/******************************************************************************/
+
+return array(
+ 'information' => array(
+ 'address' => 'Your API address:', // TODO
+ 'output' => array(
+ 'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
+ 'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
+ 'pass' => '✔️ PASS', // TODO
+ 'unknown-error' => '❌ ', // TODO
+ ),
+ 'test' => array(
+ 'fever' => 'Fever API configuration test:', // TODO
+ 'greader' => 'Google Reader API configuration test:', // TODO
+ ),
+ 'title' => array(
+ '_' => 'FreshRSS API endpoints', // TODO
+ 'extension' => 'API for extensions', // TODO
+ 'fever' => 'Fever compatible API', // TODO
+ 'greader' => 'Google Reader compatible API', // TODO
+ ),
+ ),
+);
diff --git a/docs/i18n/flags/gen/el.svg b/docs/i18n/flags/gen/el.svg
index 46a4486da..99d090aeb 100644
--- a/docs/i18n/flags/gen/el.svg
+++ b/docs/i18n/flags/gen/el.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="darkred" />
- <text x="34" y="14">🇬🇷 23%</text>
+ <text x="34" y="14">🇬🇷 22%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/en-us.svg b/docs/i18n/flags/gen/en-us.svg
index ba7f59f32..78a4b9076 100644
--- a/docs/i18n/flags/gen/en-us.svg
+++ b/docs/i18n/flags/gen/en-us.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="green" />
- <text x="34" y="14">🇺🇸 100%</text>
+ <text x="34" y="14">🇺🇸 99%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/es.svg b/docs/i18n/flags/gen/es.svg
index 192232725..6d976bfc8 100644
--- a/docs/i18n/flags/gen/es.svg
+++ b/docs/i18n/flags/gen/es.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="green" />
- <text x="34" y="14">🇪🇸 93%</text>
+ <text x="34" y="14">🇪🇸 92%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/fa.svg b/docs/i18n/flags/gen/fa.svg
index 52a95d1c8..0870a09f7 100644
--- a/docs/i18n/flags/gen/fa.svg
+++ b/docs/i18n/flags/gen/fa.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="green" />
- <text x="34" y="14">🇮🇷 99%</text>
+ <text x="34" y="14">🇮🇷 98%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/fi.svg b/docs/i18n/flags/gen/fi.svg
index feec22330..98ccc4e86 100644
--- a/docs/i18n/flags/gen/fi.svg
+++ b/docs/i18n/flags/gen/fi.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="green" />
- <text x="34" y="14">🇫🇮 93%</text>
+ <text x="34" y="14">🇫🇮 92%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/he.svg b/docs/i18n/flags/gen/he.svg
index 7f81280a5..ff45b2a3c 100644
--- a/docs/i18n/flags/gen/he.svg
+++ b/docs/i18n/flags/gen/he.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="darkred" />
- <text x="34" y="14">🇮🇱 46%</text>
+ <text x="34" y="14">🇮🇱 45%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/hu.svg b/docs/i18n/flags/gen/hu.svg
index 533b380dd..ff7bf3a4d 100644
--- a/docs/i18n/flags/gen/hu.svg
+++ b/docs/i18n/flags/gen/hu.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="green" />
- <text x="34" y="14">🇭🇺 97%</text>
+ <text x="34" y="14">🇭🇺 96%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/id.svg b/docs/i18n/flags/gen/id.svg
index 6e2a1e6d0..16eb76b21 100644
--- a/docs/i18n/flags/gen/id.svg
+++ b/docs/i18n/flags/gen/id.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="green" />
- <text x="34" y="14">🇮🇩 98%</text>
+ <text x="34" y="14">🇮🇩 97%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/it.svg b/docs/i18n/flags/gen/it.svg
index c44f0acfc..7c5dda104 100644
--- a/docs/i18n/flags/gen/it.svg
+++ b/docs/i18n/flags/gen/it.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="green" />
- <text x="34" y="14">🇮🇹 98%</text>
+ <text x="34" y="14">🇮🇹 97%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/ja.svg b/docs/i18n/flags/gen/ja.svg
index e14f6bd58..001a08553 100644
--- a/docs/i18n/flags/gen/ja.svg
+++ b/docs/i18n/flags/gen/ja.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="green" />
- <text x="34" y="14">🇯🇵 96%</text>
+ <text x="34" y="14">🇯🇵 95%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/lv.svg b/docs/i18n/flags/gen/lv.svg
index c59343296..9fabb834f 100644
--- a/docs/i18n/flags/gen/lv.svg
+++ b/docs/i18n/flags/gen/lv.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="gold" />
- <text x="34" y="14">🇱🇻 83%</text>
+ <text x="34" y="14">🇱🇻 82%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/nl.svg b/docs/i18n/flags/gen/nl.svg
index 44a70a67a..395350abf 100644
--- a/docs/i18n/flags/gen/nl.svg
+++ b/docs/i18n/flags/gen/nl.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="green" />
- <text x="34" y="14">🇳🇱 91%</text>
+ <text x="34" y="14">🇳🇱 90%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/oc.svg b/docs/i18n/flags/gen/oc.svg
index 93f4d3d39..950bc44b9 100644
--- a/docs/i18n/flags/gen/oc.svg
+++ b/docs/i18n/flags/gen/oc.svg
@@ -5,6 +5,6 @@
<!-- embedded SVG -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 797.96 530.973" width="16" height="16" x="9" y="2"><path fill="#d4001c" d="M0 0h797.96v530.973H0z"/><g fill="#fddd00"><path d="m184.195 267 9.126 7.138c14.632 11.443 38.501 35.909 45.015 77.3l1.721 10.924 8.361-7.312c14.038-12.277 55.754-44.434 116.757-53.224-8.792 61.003-40.948 102.718-53.224 116.756l-7.313 8.361 10.924 1.721c41.392 6.515 65.857 30.383 77.301 45.015l7.137 9.126 7.138-9.126c11.443-14.632 35.908-38.5 77.3-45.015l10.924-1.721-7.313-8.361c-12.276-14.038-44.432-55.753-53.224-116.756 61.003 8.79 102.719 40.947 116.757 53.224l8.361 7.312 1.72-10.924c6.515-41.391 30.384-65.857 45.015-77.3l9.127-7.138-9.127-7.138c-14.631-11.443-38.5-35.908-45.015-77.299l-1.72-10.925-8.361 7.312c-14.038 12.277-55.754 44.434-116.757 53.225 8.792-61.003 40.948-102.719 53.224-116.756l7.313-8.362-10.924-1.72c-41.392-6.516-65.857-30.384-77.3-45.016L400 51.195l-7.137 9.126c-11.444 14.632-35.909 38.5-77.301 45.016l-10.924 1.72 7.313 8.362c12.276 14.037 44.432 55.753 53.224 116.756-61.003-8.791-102.719-40.948-116.757-53.225l-8.361-7.312-1.721 10.925c-6.514 41.391-30.383 65.856-45.015 77.299zm35.126 0c27.829-25.798 34.255-54.425 34.255-54.425 40.626 34.242 103.986 41.96 135.665 43.666-1.707-31.679-9.424-95.039-43.666-135.666 0 0 28.626-6.425 54.425-34.255 25.799 27.83 54.425 34.255 54.425 34.255-34.242 40.627-41.959 103.987-43.666 135.666 31.679-1.706 95.039-9.424 135.665-43.666 0 0 6.426 28.627 34.255 54.425-27.829 25.799-34.255 54.425-34.255 54.425-40.626-34.242-103.986-41.96-135.665-43.666 1.707 31.679 9.424 95.039 43.666 135.666 0 0-28.626 6.425-54.425 34.255-25.799-27.83-54.425-34.255-54.425-34.255 34.242-40.627 41.959-103.987 43.666-135.666-31.679 1.706-95.039 9.424-135.665 43.666 0 0-6.426-28.626-34.255-54.425"/><circle cx="176.775" cy="267" r="18"/><circle cx="237.575" cy="164.576" r="18"/><circle cx="237.575" cy="369.425" r="18"/><circle cx="297.576" cy="104.575" r="18"/><circle cx="297.576" cy="429.426" r="18"/><circle cx="400" cy="43.774" r="18"/><circle cx="400" cy="490.226" r="18"/><circle cx="502.424" cy="104.575" r="18"/><circle cx="502.424" cy="429.426" r="18"/><circle cx="562.425" cy="164.576" r="18"/><circle cx="562.425" cy="369.425" r="18"/><circle cx="623.226" cy="267" r="18"/></g></svg>
<!-- end of embedded SVG -->
- <text x="43" y="14">82%</text>
+ <text x="43" y="14">81%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/pt-br.svg b/docs/i18n/flags/gen/pt-br.svg
index 301556546..8e2c5e007 100644
--- a/docs/i18n/flags/gen/pt-br.svg
+++ b/docs/i18n/flags/gen/pt-br.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="gold" />
- <text x="34" y="14">🇧🇷 89%</text>
+ <text x="34" y="14">🇧🇷 88%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/pt-pt.svg b/docs/i18n/flags/gen/pt-pt.svg
index aa24013a2..00718c072 100644
--- a/docs/i18n/flags/gen/pt-pt.svg
+++ b/docs/i18n/flags/gen/pt-pt.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="gold" />
- <text x="34" y="14">🇵🇹 89%</text>
+ <text x="34" y="14">🇵🇹 88%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/sk.svg b/docs/i18n/flags/gen/sk.svg
index 5be810f48..b0a410ce5 100644
--- a/docs/i18n/flags/gen/sk.svg
+++ b/docs/i18n/flags/gen/sk.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="gold" />
- <text x="34" y="14">🇸🇰 89%</text>
+ <text x="34" y="14">🇸🇰 88%</text>
</g>
</svg> \ No newline at end of file
diff --git a/docs/i18n/flags/gen/tr.svg b/docs/i18n/flags/gen/tr.svg
index 32a930f88..c298e0e09 100644
--- a/docs/i18n/flags/gen/tr.svg
+++ b/docs/i18n/flags/gen/tr.svg
@@ -2,6 +2,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
<rect rx="3" width="70" height="20" fill="green" />
- <text x="34" y="14">🇹🇷 98%</text>
+ <text x="34" y="14">🇹🇷 97%</text>
</g>
</svg> \ No newline at end of file
diff --git a/p/api/index.php b/p/api/index.php
index 1db1273dc..279826aa5 100644
--- a/p/api/index.php
+++ b/p/api/index.php
@@ -1,52 +1,58 @@
<?php
declare(strict_types=1);
+ require dirname(__DIR__, 2) . '/constants.php';
+ require LIB_PATH . '/lib_rss.php'; //Includes class autoloader
header("Content-Security-Policy: default-src 'self'; frame-ancestors 'none'");
header('X-Content-Type-Options: nosniff');
+
+ FreshRSS_Context::initSystem();
+ Minz_Translate::init(Minz_Translate::getLanguage(null, Minz_Request::getPreferredLanguages(), null));
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB" lang="en-GB">
<head>
<meta charset="UTF-8" />
-<title>FreshRSS API endpoints</title>
+<title><?= _t('api.information.title') ?></title>
<meta name="robots" content="noindex" />
<link rel="start" href="../i/" />
<script src="../scripts/api.js" defer="defer"></script>
-<script id="jsonVars" type="application/json">
-<?php
-require dirname(__DIR__, 2) . '/constants.php';
-require LIB_PATH . '/lib_rss.php'; //Includes class autoloader
-FreshRSS_Context::initSystem();
-echo json_encode([
- 'greader' => Minz_Url::display('/api/greader.php', 'php', true),
- 'fever' => Minz_Url::display('/api/fever.php', 'php', true),
-]);
-?>
-</script>
</head>
<body>
-<h1>FreshRSS API endpoints</h1>
+<h1><?= _t('api.information.title') ?></h1>
-<h2>Google Reader compatible API</h2>
+<h2><?= _t('api.information.title.greader') ?></h2>
<dl>
-<dt>Your API address:</dt>
-<dd><?= Minz_Url::display('/api/greader.php', 'html', true) ?></dd>
-<dt>Google Reader API configuration test:</dt>
-<dd id="greaderOutput">?</dd>
+<dt><?= _t('api.information.address') ?>
+</dt>
+<dd><kbd><?= Minz_Url::display('/api/greader.php', 'html', true) ?></kbd></dd>
+<dt><?= _t('api.information.test.greader') ?></dt>
+<dd id="greaderOutput"
+ data-api-url="<?= Minz_Url::display('/api/greader.php', 'php', true) ?>"
+ data-i18n-pass="<?= _t('api.information.output.pass') ?>"
+ data-i18n-encoding-support="<?= _t('api.information.output.encoding-support') ?>"
+ data-i18n-invalid-configuration="<?= _t('api.information.output.invalid-configuration') ?>"
+ data-i18n-unknown-error="<?= _t('api.information.output.unknown-error') ?>"
+>?</dd>
</dl>
-<h2>Fever compatible API</h2>
+<h2><?= _t('api.information.title.fever') ?></h2>
<dl>
-<dt>Your API address:</dt>
-<dd><?= Minz_Url::display('/api/fever.php', 'html', true) ?></dd>
-<dt>Fever API configuration test:</dt>
-<dd id="feverOutput">?</dd>
+<dt><?= _t('api.information.address') ?></dt>
+<dd><kbd><?= Minz_Url::display('/api/fever.php', 'html', true) ?></kbd></dd>
+<dt><?= _t('api.information.test.fever') ?></dt>
+<dd id="feverOutput"
+ data-api-url="<?= Minz_Url::display('/api/fever.php', 'php', true) ?>"
+ data-i18n-pass="<?= _t('api.information.output.pass') ?>"
+ data-i18n-invalid-configuration="<?= _t('api.information.output.invalid-configuration') ?>"
+ data-i18n-unknown-error="<?= _t('api.information.output.unknown-error') ?>"
+>?</dd>
</dl>
-<h2>API for extensions</h2>
+<h2><?= _t('api.information.title.extension') ?></h2>
<dl>
-<dt>Your API address:</dt>
-<dd><?= Minz_Url::display('/api/misc.php/Extension%20name/', 'html', true) ?></dd>
+<dt><?= _t('api.information.address') ?></dt>
+<dd><kbd><?= Minz_Url::display('/api/misc.php/Extension%20name/', 'html', true) ?></kbd></dd>
</dl>
</body>
diff --git a/p/scripts/api.js b/p/scripts/api.js
index ce52c50ad..62ce386f8 100644
--- a/p/scripts/api.js
+++ b/p/scripts/api.js
@@ -1,7 +1,7 @@
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0
'use strict';
-function check(url, next) {
+const check = function (url, next) {
if (!url || !next) {
return;
}
@@ -19,45 +19,75 @@ function check(url, next) {
}
};
req.send();
-}
-
-const jsonVars = JSON.parse(document.getElementById('jsonVars').innerHTML);
-
-check(jsonVars.greader + '/check/compatibility', function next(result1) {
- const greaderOutput = document.getElementById('greaderOutput');
- if (result1 === 'PASS') {
- greaderOutput.innerHTML = '✔️ ' + result1;
- } else {
- check(jsonVars.greader + '/check%2Fcompatibility', function next(result2) {
- if (result2 === 'PASS') {
- greaderOutput.innerHTML = '⚠️ WARN: no <code>%2F</code> support, so some clients will not work!';
- } else {
- check('./greader.php/check/compatibility', function next(result3) {
- if (result3 === 'PASS') {
- greaderOutput.innerHTML = '⚠️ WARN: Probable invalid base URL in ./data/config.php';
- } else {
- greaderOutput.innerHTML = '❌ ' + result1;
- }
- });
- }
- });
- }
-});
-
-check(jsonVars.fever + '?api', function next(result1) {
- const feverOutput = document.getElementById('feverOutput');
- try {
- JSON.parse(result1);
- feverOutput.innerHTML = '✔️ PASS';
- } catch (ex) {
- check('./fever.php?api', function next(result2) {
- try {
- JSON.parse(result2);
- feverOutput.innerHTML = '⚠️ WARN: Probable invalid base URL in ./data/config.php';
- } catch (ex) {
- feverOutput.innerHTML = '❌ ' + result1;
- }
- });
- }
-});
+};
+
+const pass = function (output) {
+ output.innerHTML = output.dataset.i18nPass;
+};
+
+const encodingSupport = function (output) {
+ output.innerHTML = output.dataset.i18nEncodingSupport;
+};
+
+const invalidConfiguration = function (output) {
+ output.innerHTML = output.dataset.i18nInvalidConfiguration;
+};
+
+const unknownError = function (output, message) {
+ output.innerHTML = output.dataset.i18nUnknownError + message;
+};
+
+const checkGReaderAPI = function () {
+ const output = document.getElementById('greaderOutput');
+ const apiUrl = output.dataset.apiUrl;
+
+ check(apiUrl + '/check/compatibility', function next(result1) {
+ if (result1 === 'PASS') {
+ pass(output);
+ } else {
+ check(apiUrl + '/check%2Fcompatibility', function next(result2) {
+ if (result2 === 'PASS') {
+ encodingSupport(output);
+ } else {
+ check('./greader.php/check/compatibility', function next(result3) {
+ if (result3 === 'PASS') {
+ invalidConfiguration(output);
+ } else {
+ unknownError(output, result1);
+ }
+ });
+ }
+ });
+ }
+ });
+};
+
+const checkFeverAPI = function () {
+ const output = document.getElementById('feverOutput');
+ const apiUrl = output.dataset.apiUrl;
+
+ check(apiUrl + '?api', function next(result1) {
+ try {
+ JSON.parse(result1);
+ pass(output);
+ } catch (ex) {
+ check('./fever.php?api', function next(result2) {
+ try {
+ JSON.parse(result2);
+ invalidConfiguration(output);
+ } catch (ex) {
+ unknownError(output, result1);
+ }
+ });
+ }
+ });
+};
+
+/**
+ * The API tests are done this way to simulate in a more accurate manner
+ * outside requests. Since the APIs are used by third-party tools, they
+ * cannot interact at the server level.
+ */
+checkGReaderAPI();
+checkFeverAPI();
// @license-end