aboutsummaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorGravatar Alexis Degrugillier <aledeg@users.noreply.github.com> 2022-01-08 08:00:26 -0500
committerGravatar GitHub <noreply@github.com> 2022-01-08 14:00:26 +0100
commit127b7f0a3aad7012055c058e8aba0d27192a8cbc (patch)
tree8ec9a5948672e702c944c202f78294b81104582f /cli
parented19445f74c30854c60873cd1df1c38e15fc316b (diff)
Change i18n process (#4131)
Before, the ignore info were stored in a different file which was a bit cumbersome for new comers. Now, this info is stored directly in the translation file as a comment. Before, there was no way of telling translators that a previously translated string was in need of a new translation. Now, the dirty information is there to convey that info.
Diffstat (limited to 'cli')
-rw-r--r--cli/check.translation.php22
-rw-r--r--cli/i18n/I18nCompletionValidator.php21
-rw-r--r--cli/i18n/I18nData.php113
-rw-r--r--cli/i18n/I18nFile.php70
-rw-r--r--cli/i18n/I18nFileInterface.php10
-rw-r--r--cli/i18n/I18nIgnoreFile.php63
-rw-r--r--cli/i18n/I18nUsageValidator.php5
-rw-r--r--cli/i18n/I18nValidatorInterface.php3
-rw-r--r--cli/i18n/I18nValue.php75
-rw-r--r--cli/i18n/ignore/cz.php50
-rw-r--r--cli/i18n/ignore/de.php73
-rw-r--r--cli/i18n/ignore/en-us.php804
-rw-r--r--cli/i18n/ignore/en.php110
-rw-r--r--cli/i18n/ignore/es.php57
-rw-r--r--cli/i18n/ignore/fr.php77
-rw-r--r--cli/i18n/ignore/he.php49
-rw-r--r--cli/i18n/ignore/it.php48
-rw-r--r--cli/i18n/ignore/ja.php50
-rw-r--r--cli/i18n/ignore/ko.php62
-rw-r--r--cli/i18n/ignore/nl.php69
-rw-r--r--cli/i18n/ignore/oc.php72
-rw-r--r--cli/i18n/ignore/pl.php53
-rw-r--r--cli/i18n/ignore/pt-br.php60
-rw-r--r--cli/i18n/ignore/ru.php52
-rw-r--r--cli/i18n/ignore/sk.php73
-rw-r--r--cli/i18n/ignore/tr.php56
-rw-r--r--cli/i18n/ignore/zh-cn.php51
-rwxr-xr-xcli/manipulate.translation.php39
28 files changed, 212 insertions, 2075 deletions
diff --git a/cli/check.translation.php b/cli/check.translation.php
index 12655fc8e..38bb83af5 100644
--- a/cli/check.translation.php
+++ b/cli/check.translation.php
@@ -3,12 +3,10 @@
require_once __DIR__ . '/i18n/I18nCompletionValidator.php';
require_once __DIR__ . '/i18n/I18nData.php';
require_once __DIR__ . '/i18n/I18nFile.php';
-require_once __DIR__ . '/i18n/I18nIgnoreFile.php';
require_once __DIR__ . '/i18n/I18nUsageValidator.php';
$i18nFile = new I18nFile();
-$i18nIgnoreFile = new I18nIgnoreFile();
-$i18nData = new I18nData($i18nFile->load(), $i18nIgnoreFile->load());
+$i18nData = new I18nData($i18nFile->load());
$options = getopt("dhl:r");
@@ -30,14 +28,10 @@ $report = array();
foreach ($languages as $language) {
if ($language === $i18nData::REFERENCE_LANGUAGE) {
$i18nValidator = new I18nUsageValidator($i18nData->getReferenceLanguage(), findUsedTranslations());
- $isValidated = $i18nValidator->validate(include __DIR__ . '/i18n/ignore/' . $language . '.php') && $isValidated;
+ $isValidated = $i18nValidator->validate() && $isValidated;
} else {
$i18nValidator = new I18nCompletionValidator($i18nData->getReferenceLanguage(), $i18nData->getLanguage($language));
- if (file_exists(__DIR__ . '/i18n/ignore/' . $language . '.php')) {
- $isValidated = $i18nValidator->validate(include __DIR__ . '/i18n/ignore/' . $language . '.php') && $isValidated;
- } else {
- $isValidated = $i18nValidator->validate(null) && $isValidated;
- }
+ $isValidated = $i18nValidator->validate() && $isValidated;
}
$report[$language] = sprintf('%-5s - %s', $language, $i18nValidator->displayReport());
@@ -87,12 +81,14 @@ function findUsedTranslations() {
* Output help message.
*/
function help() {
- $help = <<<HELP
+ $file = str_replace(__DIR__ . '/', '', __FILE__);
+
+ echo <<<HELP
NAME
- %s
+ $file
SYNOPSIS
- php %s [OPTION]...
+ php $file [OPTION]...
DESCRIPTION
Check if translation files have missing keys or missing translations.
@@ -103,7 +99,5 @@ DESCRIPTION
-r display completion report.
HELP;
- $file = str_replace(__DIR__ . '/', '', __FILE__);
- echo sprintf($help, $file, $file);
exit;
}
diff --git a/cli/i18n/I18nCompletionValidator.php b/cli/i18n/I18nCompletionValidator.php
index 3287a2500..ee4ab9f78 100644
--- a/cli/i18n/I18nCompletionValidator.php
+++ b/cli/i18n/I18nCompletionValidator.php
@@ -23,23 +23,22 @@ class I18nCompletionValidator implements I18nValidatorInterface {
return $this->result;
}
- /**
- * @param array<string>|null $ignore
- */
- public function validate($ignore) {
+ public function validate() {
foreach ($this->reference as $file => $data) {
- foreach ($data as $key => $value) {
+ foreach ($data as $refKey => $refValue) {
$this->totalEntries++;
- if (is_array($ignore) && in_array($key, $ignore)) {
- $this->passEntries++;
+ if (!array_key_exists($refKey, $this->language[$file])) {
+ $this->result .= "Missing key $refKey" . PHP_EOL;
continue;
}
- if (!array_key_exists($key, $this->language[$file])) {
- $this->result .= sprintf('Missing key %s', $key) . PHP_EOL;
+
+ $value = $this->language[$file][$refKey];
+ if ($value->isIgnore()) {
+ $this->passEntries++;
continue;
}
- if ($value === $this->language[$file][$key]) {
- $this->result .= sprintf('Untranslated key %s - %s', $key, $value) . PHP_EOL;
+ if ($refValue->equal($value)) {
+ $this->result .= "Untranslated key $refKey - $refValue" . PHP_EOL;
continue;
}
$this->passEntries++;
diff --git a/cli/i18n/I18nData.php b/cli/i18n/I18nData.php
index 2e5e373f8..6656d45cd 100644
--- a/cli/i18n/I18nData.php
+++ b/cli/i18n/I18nData.php
@@ -4,68 +4,33 @@ class I18nData {
const REFERENCE_LANGUAGE = 'en';
- private $data = array();
- private $ignore = array();
+ private $data = [];
- public function __construct($data, $ignore) {
+ public function __construct(array $data) {
$this->data = $data;
- $this->ignore = $ignore;
- $this->synchonizeKeys();
+ $this->addMissingKeysFromReference();
+ $this->removeExtraKeysFromOtherLanguages();
+ $this->processValueStates();
}
public function getData() {
- $output = array();
- $reference = $this->getReferenceLanguage();
- $languages = $this->getNonReferenceLanguages();
-
- foreach ($reference as $file => $values) {
- foreach ($values as $key => $value) {
- $output[static::REFERENCE_LANGUAGE][$file][$key] = $value;
- foreach ($languages as $language) {
- if ($this->data[$language][$file][$key] !== $value) {
- // This value is translated, there is no need to flag it.
- $output[$language][$file][$key] = $this->data[$language][$file][$key];
- } elseif (array_key_exists($language, $this->ignore) && in_array($key, $this->ignore[$language])) {
- // This value is ignored, there is no need to flag it.
- $output[$language][$file][$key] = $this->data[$language][$file][$key];
- } else {
- // This value is not translated nor ignored, it must be flagged.
- $output[$language][$file][$key] = "{$value} -> todo";
- }
- }
- }
- }
-
- return $output;
- }
-
- public function getIgnore() {
- $ignore = array();
-
- foreach ($this->ignore as $language => $keys) {
- sort($keys);
- $ignore[$language] = $keys;
- }
-
- return $ignore;
- }
-
- private function synchonizeKeys() {
- $this->addMissingKeysFromReference();
- $this->removeExtraKeysFromOtherLanguages();
- $this->removeUnknownIgnoreKeys();
+ return $this->data;
}
private function addMissingKeysFromReference() {
$reference = $this->getReferenceLanguage();
$languages = $this->getNonReferenceLanguages();
- foreach ($reference as $file => $values) {
- foreach ($values as $key => $value) {
+ foreach ($reference as $file => $refValues) {
+ foreach ($refValues as $key => $refValue) {
foreach ($languages as $language) {
if (!array_key_exists($key, $this->data[$language][$file])) {
- $this->data[$language][$file][$key] = $value;
+ $this->data[$language][$file][$key] = clone $refValue;
+ }
+ $value = $this->data[$language][$file][$key];
+ if ($refValue->equal($value) && !$value->isIgnore()) {
+ $value->markAsTodo();
}
}
}
@@ -85,12 +50,22 @@ class I18nData {
}
}
- private function removeUnknownIgnoreKeys() {
+ private function processValueStates() {
$reference = $this->getReferenceLanguage();
- foreach ($this->ignore as $language => $keys) {
- foreach ($keys as $index => $key) {
- if (!array_key_exists($this->getFilenamePrefix($key), $reference) || !array_key_exists($key, $reference[$this->getFilenamePrefix($key)])) {
- unset($this->ignore[$language][$index]);
+ $languages = $this->getNonReferenceLanguages();
+
+ foreach ($reference as $file => $refValues) {
+ foreach ($refValues as $key => $refValue) {
+ foreach ($languages as $language) {
+ $value = $this->data[$language][$file][$key];
+ if ($refValue->equal($value) && !$value->isIgnore()) {
+ $value->markAsTodo();
+ continue;
+ }
+ if (!$refValue->equal($value) && $value->isTodo()) {
+ $value->markAsDirty();
+ continue;
+ }
}
}
}
@@ -220,10 +195,13 @@ class I18nData {
// To create an array, we need to change the key by appending an empty section.
foreach ($this->getAvailableLanguages() as $language) {
$parentValue = $this->data[$language][$this->getFilenamePrefix($parentKey)][$parentKey];
- $this->data[$language][$this->getFilenamePrefix($this->getEmptySibling($parentKey))][$this->getEmptySibling($parentKey)] = $parentValue;
+ $this->data[$language][$this->getFilenamePrefix($this->getEmptySibling($parentKey))][$this->getEmptySibling($parentKey)] =
+ new I18nValue($parentValue);
}
}
+ $value = new I18nValue($value);
+ $value->markAsTodo();
foreach ($this->getAvailableLanguages() as $language) {
if (!array_key_exists($key, $this->data[$language][$this->getFilenamePrefix($key)])) {
$this->data[$language][$this->getFilenamePrefix($key)][$key] = $value;
@@ -251,6 +229,8 @@ class I18nData {
!array_key_exists($key, $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)])) {
throw new Exception('The selected key does not exist for the selected language.');
}
+
+ $value = new I18nValue($value);
if (static::REFERENCE_LANGUAGE === $language) {
$previousValue = $this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)][$key];
foreach ($this->getAvailableLanguages() as $lang) {
@@ -282,9 +262,6 @@ class I18nData {
if (array_key_exists($key, $this->data[$language][$this->getFilenamePrefix($key)])) {
unset($this->data[$language][$this->getFilenamePrefix($key)][$key]);
}
- if (array_key_exists($language, $this->ignore) && $position = array_search($key, $this->ignore[$language])) {
- unset($this->ignore[$language][$position]);
- }
}
if ($this->isOnlyChild($key)) {
@@ -305,24 +282,16 @@ class I18nData {
* @param boolean $reverse
*/
public function ignore($key, $language, $reverse = false) {
- if (!array_key_exists($language, $this->ignore)) {
- $this->ignore[$language] = array();
- }
-
- $index = array_search($key, $this->ignore[$language]);
- if (false !== $index && $reverse) {
- unset($this->ignore[$language][$index]);
- return;
- }
- if (false !== $index && !$reverse) {
- return;
+ $value = $this->data[$language][$this->getFilenamePrefix($key)][$key];
+ if ($reverse) {
+ $value->markAsIgnore();
+ } else {
+ $value->unmarkAsIgnore();
}
-
- $this->ignore[$language][] = $key;
}
/**
- *Ignore all unmodified keys from a language, or reverse it.
+ * Ignore all unmodified keys from a language, or reverse it.
*
* @param string $language
* @param boolean $reverse
@@ -332,7 +301,7 @@ class I18nData {
foreach ($this->getReferenceLanguage() as $file => $ref_language) {
foreach ($ref_language as $key => $ref_value) {
if (array_key_exists($key, $my_language[$file])) {
- if($ref_value == $my_language[$file][$key]) {
+ if($ref_value->equal($my_language[$file][$key])) {
$this->ignore($key, $language, $reverse);
}
}
diff --git a/cli/i18n/I18nFile.php b/cli/i18n/I18nFile.php
index 222d07692..50b2d5023 100644
--- a/cli/i18n/I18nFile.php
+++ b/cli/i18n/I18nFile.php
@@ -1,8 +1,8 @@
<?php
-require_once __DIR__ . '/I18nFileInterface.php';
+require_once __DIR__ . '/I18nValue.php';
-class I18nFile implements I18nFileInterface{
+class I18nFile {
private $i18nPath;
@@ -22,7 +22,8 @@ class I18nFile implements I18nFileInterface{
if (!$file->isFile()) {
continue;
}
- $i18n[$dir->getFilename()][$file->getFilename()] = $this->flatten(include $file->getPathname(), $file->getBasename('.php'));
+
+ $i18n[$dir->getFilename()][$file->getFilename()] = $this->flatten($this->process($file->getPathname()), $file->getBasename('.php'));
}
}
@@ -43,13 +44,42 @@ class I18nFile implements I18nFileInterface{
}
/**
+ * Process the content of an i18n file
+ *
+ * @param string $filename
+ * @return array
+ */
+ private function process(string $filename) {
+ $content = file_get_contents($filename);
+ $content = str_replace('<?php', '', $content);
+
+ $content = preg_replace([
+ "#',\s*//\s*TODO#i",
+ "#',\s*//\s*DIRTY#i",
+ "#',\s*//\s*IGNORE#i",
+ ], [
+ ' -> todo\',',
+ ' -> dirty\',',
+ ' -> ignore\',',
+ ], $content);
+
+ $content = eval($content);
+
+ if (is_array($content)) {
+ return $content;
+ }
+
+ return [];
+ }
+
+ /**
* Flatten an array of translation
*
* @param array $translation
* @param string $prefix
* @return array
*/
- private function flatten($translation, $prefix = '') {
+ private function flatten(array $translation, string $prefix = '') {
$a = array();
if ('' !== $prefix) {
@@ -60,7 +90,7 @@ class I18nFile implements I18nFileInterface{
if (is_array($value)) {
$a += $this->flatten($value, $prefix . $key);
} else {
- $a[$prefix . $key] = $value;
+ $a[$prefix . $key] = new I18nValue($value);
}
}
@@ -76,7 +106,7 @@ class I18nFile implements I18nFileInterface{
* @param array $translation
* @return array
*/
- private function unflatten($translation) {
+ private function unflatten(array $translation) {
$a = array();
ksort($translation, SORT_NATURAL);
@@ -99,25 +129,43 @@ class I18nFile implements I18nFileInterface{
* @param array $translation
* @return string
*/
- private function format($translation) {
+ private function format(array $translation) {
$translation = var_export($this->unflatten($translation), true);
$patterns = array(
+ '/ -> todo\',/',
+ '/ -> dirty\',/',
+ '/ -> ignore\',/',
'/array \(/',
'/=>\s*array/',
'/(\w) {2}/',
'/ {2}/',
- '/ -> todo\',/',
);
$replacements = array(
+ "',\t// TODO", // Double quoting is mandatory to have a tab instead of the \t string
+ "',\t// DIRTY", // Double quoting is mandatory to have a tab instead of the \t string
+ "',\t// IGNORE", // Double quoting is mandatory to have a tab instead of the \t string
'array(',
'=> array',
'$1 ',
"\t", // Double quoting is mandatory to have a tab instead of the \t string
- "',\t// TODO - Translation", // Double quoting is mandatory to have a tab instead of the \t string
);
$translation = preg_replace($patterns, $replacements, $translation);
- // Double quoting is mandatory to have new lines instead of \n strings
- return sprintf("<?php\n\nreturn %s;\n", $translation);
+ return <<<OUTPUT
+ <?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 {$translation};
+
+ OUTPUT;
}
}
diff --git a/cli/i18n/I18nFileInterface.php b/cli/i18n/I18nFileInterface.php
deleted file mode 100644
index 9e7c41200..000000000
--- a/cli/i18n/I18nFileInterface.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-require_once __DIR__ . '/I18nData.php';
-
-interface I18nFileInterface {
-
- public function load();
-
- public function dump(array $i18n);
-}
diff --git a/cli/i18n/I18nIgnoreFile.php b/cli/i18n/I18nIgnoreFile.php
deleted file mode 100644
index a05a3d5e8..000000000
--- a/cli/i18n/I18nIgnoreFile.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-require_once __DIR__ . '/I18nFileInterface.php';
-
-class I18nIgnoreFile implements I18nFileInterface {
-
- private $i18nPath;
-
- public function __construct() {
- $this->i18nPath = __DIR__ . '/ignore';
- }
-
- public function dump(array $i18n) {
- foreach ($i18n as $language => $content) {
- $filename = $this->i18nPath . DIRECTORY_SEPARATOR . $language . '.php';
- file_put_contents($filename, $this->format($content));
- }
- }
-
- public function load() {
- $i18n = array();
- $files = new DirectoryIterator($this->i18nPath);
- foreach ($files as $file) {
- if (!$file->isFile()) {
- continue;
- }
- $i18n[$file->getBasename('.php')] = (include $file->getPathname());
- }
-
- return $i18n;
- }
-
- /**
- * Format an array of translation
- *
- * It takes an array of translation and format it to be dumped in a
- * translation file. The array is first converted to a string then some
- * formatting regexes are applied to match the original content.
- *
- * @param array $translation
- * @return string
- */
- private function format($translation) {
- $translation = var_export(($translation), true);
- $patterns = array(
- '/array \(/',
- '/=>\s*array/',
- '/ {2}/',
- '/\d+ => /',
- );
- $replacements = array(
- 'array(',
- '=> array',
- "\t", // Double quoting is mandatory to have a tab instead of the \t string
- '',
- );
- $translation = preg_replace($patterns, $replacements, $translation);
-
- // Double quoting is mandatory to have new lines instead of \n strings
- return sprintf("<?php\n\nreturn %s;\n", $translation);
- }
-
-}
diff --git a/cli/i18n/I18nUsageValidator.php b/cli/i18n/I18nUsageValidator.php
index 8ab934971..2e402faf0 100644
--- a/cli/i18n/I18nUsageValidator.php
+++ b/cli/i18n/I18nUsageValidator.php
@@ -23,16 +23,13 @@ class I18nUsageValidator implements I18nValidatorInterface {
return $this->result;
}
- public function validate($ignore) {
+ public function validate() {
foreach ($this->reference as $file => $data) {
foreach ($data as $key => $value) {
$this->totalEntries++;
if (preg_match('/\._$/', $key) && in_array(preg_replace('/\._$/', '', $key), $this->code)) {
continue;
}
- if (is_array($ignore) && in_array($key, $ignore)) {
- continue;
- }
if (!in_array($key, $this->code)) {
$this->result .= sprintf('Unused key %s - %s', $key, $value) . PHP_EOL;
$this->failedEntries++;
diff --git a/cli/i18n/I18nValidatorInterface.php b/cli/i18n/I18nValidatorInterface.php
index 80fcb22ad..d5681912b 100644
--- a/cli/i18n/I18nValidatorInterface.php
+++ b/cli/i18n/I18nValidatorInterface.php
@@ -11,10 +11,9 @@ interface I18nValidatorInterface {
public function displayResult();
/**
- * @param array $ignore Keys to ignore for validation
* @return bool
*/
- public function validate($ignore);
+ public function validate();
/**
* Display the validation report.
diff --git a/cli/i18n/I18nValue.php b/cli/i18n/I18nValue.php
new file mode 100644
index 000000000..e691b8574
--- /dev/null
+++ b/cli/i18n/I18nValue.php
@@ -0,0 +1,75 @@
+<?php
+
+class I18nValue {
+ private const STATE_DIRTY = 'dirty';
+ private const STATE_IGNORE = 'ignore';
+ private const STATE_TODO = 'todo';
+ private const STATES = [
+ self::STATE_DIRTY,
+ self::STATE_IGNORE,
+ self::STATE_TODO,
+ ];
+
+ private $value;
+ private $state;
+
+ public function __construct(string $data) {
+ $data = explode(' -> ', $data);
+
+ $this->value = array_shift($data);
+ if (count($data) === 0) {
+ return;
+ }
+
+ $state = array_shift($data);
+ if (in_array($state, self::STATES)) {
+ $this->state = $state;
+ }
+ }
+
+ public function __clone() {
+ $this->markAsTodo();
+ }
+
+ public function equal(I18nValue $value) {
+ return $this->value === $value->getValue();
+ }
+
+ public function isIgnore() {
+ return $this->state === self::STATE_IGNORE;
+ }
+
+ public function isTodo() {
+ return $this->state === self::STATE_TODO;
+ }
+
+ public function markAsDirty() {
+ $this->state = self::STATE_DIRTY;
+ }
+
+ public function markAsIgnore() {
+ $this->state = self::STATE_IGNORE;
+ }
+
+ public function markAsTodo() {
+ $this->state = self::STATE_TODO;
+ }
+
+ public function unmarkAsIgnore() {
+ if ($this->state === self::STATE_IGNORE) {
+ $this->state = null;
+ }
+ }
+
+ public function __toString() {
+ if ($this->state === null) {
+ return $this->value;
+ }
+
+ return "{$this->value} -> {$this->state}";
+ }
+
+ public function getValue() {
+ return $this->value;
+ }
+}
diff --git a/cli/i18n/ignore/cz.php b/cli/i18n/ignore/cz.php
deleted file mode 100644
index 8cb761736..000000000
--- a/cli/i18n/ignore/cz.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-return array(
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.facebook',
- 'conf.sharing.print',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.date.format_date',
- 'gen.date.format_date_hour',
- 'gen.dir',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'index.about.agpl3',
-);
diff --git a/cli/i18n/ignore/de.php b/cli/i18n/ignore/de.php
deleted file mode 100644
index 28d4ec6d8..000000000
--- a/cli/i18n/ignore/de.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-return array(
- 'admin.extensions.name',
- 'admin.extensions.version',
- 'admin.stats.feed',
- 'admin.user.admin',
- 'admin.user.feed_count',
- 'conf.query.name',
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.facebook',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'conf.shortcut.navigation',
- 'gen.date.Apr',
- 'gen.date.Aug',
- 'gen.date.Nov',
- 'gen.date.Sep',
- 'gen.date.april',
- 'gen.date.august',
- 'gen.date.november',
- 'gen.date.september',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.menu.account',
- 'gen.menu.admin',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'index.about.agpl3',
- 'index.about.version',
- 'install.bdd.host',
- 'install.title',
- 'sub.api.title',
- 'sub.bookmarklet.title',
- 'sub.category.information',
- 'sub.feed.information',
- 'sub.tag.name',
-);
diff --git a/cli/i18n/ignore/en-us.php b/cli/i18n/ignore/en-us.php
deleted file mode 100644
index 8fa02163e..000000000
--- a/cli/i18n/ignore/en-us.php
+++ /dev/null
@@ -1,804 +0,0 @@
-<?php
-
-return array(
- 'admin.auth.allow_anonymous',
- 'admin.auth.allow_anonymous_refresh',
- 'admin.auth.api_enabled',
- 'admin.auth.form',
- 'admin.auth.http',
- 'admin.auth.none',
- 'admin.auth.title',
- 'admin.auth.token',
- 'admin.auth.token_help',
- 'admin.auth.type',
- 'admin.auth.unsafe_autologin',
- 'admin.check_install.cache.nok',
- 'admin.check_install.cache.ok',
- 'admin.check_install.categories.nok',
- 'admin.check_install.categories.ok',
- 'admin.check_install.connection.nok',
- 'admin.check_install.connection.ok',
- 'admin.check_install.ctype.nok',
- 'admin.check_install.ctype.ok',
- 'admin.check_install.curl.nok',
- 'admin.check_install.curl.ok',
- 'admin.check_install.data.nok',
- 'admin.check_install.data.ok',
- 'admin.check_install.database',
- 'admin.check_install.dom.nok',
- 'admin.check_install.dom.ok',
- 'admin.check_install.entries.nok',
- 'admin.check_install.entries.ok',
- 'admin.check_install.favicons.nok',
- 'admin.check_install.favicons.ok',
- 'admin.check_install.feeds.nok',
- 'admin.check_install.feeds.ok',
- 'admin.check_install.fileinfo.nok',
- 'admin.check_install.fileinfo.ok',
- 'admin.check_install.files',
- 'admin.check_install.json.nok',
- 'admin.check_install.json.ok',
- 'admin.check_install.mbstring.nok',
- 'admin.check_install.mbstring.ok',
- 'admin.check_install.pcre.nok',
- 'admin.check_install.pcre.ok',
- 'admin.check_install.pdo.nok',
- 'admin.check_install.pdo.ok',
- 'admin.check_install.php._',
- 'admin.check_install.php.nok',
- 'admin.check_install.php.ok',
- 'admin.check_install.tables.nok',
- 'admin.check_install.tables.ok',
- 'admin.check_install.title',
- 'admin.check_install.tokens.nok',
- 'admin.check_install.tokens.ok',
- 'admin.check_install.users.nok',
- 'admin.check_install.users.ok',
- 'admin.check_install.zip.nok',
- 'admin.check_install.zip.ok',
- 'admin.extensions.author',
- 'admin.extensions.community',
- 'admin.extensions.description',
- 'admin.extensions.disabled',
- 'admin.extensions.empty_list',
- 'admin.extensions.enabled',
- 'admin.extensions.latest',
- 'admin.extensions.name',
- 'admin.extensions.no_configure_view',
- 'admin.extensions.system._',
- 'admin.extensions.system.no_rights',
- 'admin.extensions.title',
- 'admin.extensions.update',
- 'admin.extensions.user',
- 'admin.extensions.version',
- 'admin.stats._',
- 'admin.stats.all_feeds',
- 'admin.stats.category',
- 'admin.stats.entry_count',
- 'admin.stats.entry_per_category',
- 'admin.stats.entry_per_day',
- 'admin.stats.entry_per_day_of_week',
- 'admin.stats.entry_per_hour',
- 'admin.stats.entry_per_month',
- 'admin.stats.entry_repartition',
- 'admin.stats.feed',
- 'admin.stats.feed_per_category',
- 'admin.stats.idle',
- 'admin.stats.main',
- 'admin.stats.main_stream',
- 'admin.stats.no_idle',
- 'admin.stats.number_entries',
- 'admin.stats.percent_of_total',
- 'admin.stats.repartition',
- 'admin.stats.status_read',
- 'admin.stats.status_total',
- 'admin.stats.status_unread',
- 'admin.stats.title',
- 'admin.stats.top_feed',
- 'admin.system._',
- 'admin.system.auto-update-url',
- 'admin.system.cookie-duration.help',
- 'admin.system.cookie-duration.number',
- 'admin.system.force_email_validation',
- 'admin.system.instance-name',
- 'admin.system.max-categories',
- 'admin.system.max-feeds',
- 'admin.system.registration.help',
- 'admin.system.registration.number',
- 'admin.update._',
- 'admin.update.apply',
- 'admin.update.check',
- 'admin.update.current_version',
- 'admin.update.last',
- 'admin.update.none',
- 'admin.update.title',
- 'admin.user.admin',
- 'admin.user.article_count',
- 'admin.user.back_to_manage',
- 'admin.user.create',
- 'admin.user.database_size',
- 'admin.user.email',
- 'admin.user.enabled',
- 'admin.user.feed_count',
- 'admin.user.is_admin',
- 'admin.user.language',
- 'admin.user.last_user_activity',
- 'admin.user.list',
- 'admin.user.number',
- 'admin.user.numbers',
- 'admin.user.password_form',
- 'admin.user.password_format',
- 'admin.user.title',
- 'admin.user.username',
- 'conf.archiving._',
- 'conf.archiving.exception',
- 'conf.archiving.help',
- 'conf.archiving.keep_labels',
- 'conf.archiving.keep_max',
- 'conf.archiving.keep_min_by_feed',
- 'conf.archiving.keep_period',
- 'conf.archiving.keep_unreads',
- 'conf.archiving.maintenance',
- 'conf.archiving.optimize',
- 'conf.archiving.optimize_help',
- 'conf.archiving.policy',
- 'conf.archiving.policy_warning',
- 'conf.archiving.purge_now',
- 'conf.archiving.title',
- 'conf.archiving.ttl',
- 'conf.display._',
- 'conf.display.icon.bottom_line',
- 'conf.display.icon.display_authors',
- 'conf.display.icon.entry',
- 'conf.display.icon.publication_date',
- 'conf.display.icon.related_tags',
- 'conf.display.icon.sharing',
- 'conf.display.icon.summary',
- 'conf.display.icon.top_line',
- 'conf.display.language',
- 'conf.display.notif_html5.seconds',
- 'conf.display.notif_html5.timeout',
- 'conf.display.show_nav_buttons',
- 'conf.display.theme',
- 'conf.display.theme_not_available',
- 'conf.display.thumbnail.label',
- 'conf.display.thumbnail.landscape',
- 'conf.display.thumbnail.none',
- 'conf.display.thumbnail.portrait',
- 'conf.display.thumbnail.square',
- 'conf.display.title',
- 'conf.display.width.content',
- 'conf.display.width.large',
- 'conf.display.width.medium',
- 'conf.display.width.no_limit',
- 'conf.display.width.thin',
- 'conf.profile._',
- 'conf.profile.api',
- 'conf.profile.delete._',
- 'conf.profile.delete.warn',
- 'conf.profile.email',
- 'conf.profile.password_api',
- 'conf.profile.password_form',
- 'conf.profile.password_format',
- 'conf.profile.title',
- 'conf.query._',
- 'conf.query.deprecated',
- 'conf.query.filter._',
- 'conf.query.filter.categories',
- 'conf.query.filter.feeds',
- 'conf.query.filter.order',
- 'conf.query.filter.search',
- 'conf.query.filter.state',
- 'conf.query.filter.tags',
- 'conf.query.filter.type',
- 'conf.query.get_all',
- 'conf.query.get_category',
- 'conf.query.get_feed',
- 'conf.query.name',
- 'conf.query.no_filter',
- 'conf.query.number',
- 'conf.query.order_asc',
- 'conf.query.order_desc',
- 'conf.query.search',
- 'conf.query.state_0',
- 'conf.query.state_1',
- 'conf.query.state_12',
- 'conf.query.state_13',
- 'conf.query.state_14',
- 'conf.query.state_15',
- 'conf.query.state_2',
- 'conf.query.state_3',
- 'conf.query.title',
- 'conf.reading._',
- 'conf.reading.after_onread',
- 'conf.reading.always_show_favorites',
- 'conf.reading.articles_per_page',
- 'conf.reading.auto_load_more',
- 'conf.reading.auto_remove_article',
- 'conf.reading.confirm_enabled',
- 'conf.reading.display_articles_unfolded',
- 'conf.reading.display_categories_unfolded',
- 'conf.reading.hide_read_feeds',
- 'conf.reading.img_with_lazyload',
- 'conf.reading.jump_next',
- 'conf.reading.mark_updated_article_unread',
- 'conf.reading.number_divided_when_reader',
- 'conf.reading.read.article_open_on_website',
- 'conf.reading.read.article_viewed',
- 'conf.reading.read.keep_max_n_unread',
- 'conf.reading.read.scroll',
- 'conf.reading.read.upon_reception',
- 'conf.reading.read.when',
- 'conf.reading.read.when_same_title',
- 'conf.reading.show._',
- 'conf.reading.show.active_category',
- 'conf.reading.show.adaptive',
- 'conf.reading.show.all_articles',
- 'conf.reading.show.all_categories',
- 'conf.reading.show.no_category',
- 'conf.reading.show.remember_categories',
- 'conf.reading.show.unread',
- 'conf.reading.show_fav_unread_help',
- 'conf.reading.sides_close_article',
- 'conf.reading.sort._',
- 'conf.reading.sort.newer_first',
- 'conf.reading.sort.older_first',
- 'conf.reading.sticky_post',
- 'conf.reading.title',
- 'conf.reading.view.default',
- 'conf.reading.view.global',
- 'conf.reading.view.normal',
- 'conf.reading.view.reader',
- 'conf.sharing._',
- 'conf.sharing.add',
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.email',
- 'conf.sharing.facebook',
- 'conf.sharing.more_information',
- 'conf.sharing.print',
- 'conf.sharing.raindrop',
- 'conf.sharing.remove',
- 'conf.sharing.shaarli',
- 'conf.sharing.share_name',
- 'conf.sharing.share_url',
- 'conf.sharing.title',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'conf.shortcut._',
- 'conf.shortcut.article_action',
- 'conf.shortcut.auto_share',
- 'conf.shortcut.auto_share_help',
- 'conf.shortcut.close_dropdown',
- 'conf.shortcut.collapse_article',
- 'conf.shortcut.first_article',
- 'conf.shortcut.focus_search',
- 'conf.shortcut.global_view',
- 'conf.shortcut.help',
- 'conf.shortcut.javascript',
- 'conf.shortcut.last_article',
- 'conf.shortcut.load_more',
- 'conf.shortcut.mark_read',
- 'conf.shortcut.navigation',
- 'conf.shortcut.navigation_help',
- 'conf.shortcut.navigation_no_mod_help',
- 'conf.shortcut.next_article',
- 'conf.shortcut.next_unread_article',
- 'conf.shortcut.non_standard',
- 'conf.shortcut.normal_view',
- 'conf.shortcut.other_action',
- 'conf.shortcut.previous_article',
- 'conf.shortcut.reading_view',
- 'conf.shortcut.rss_view',
- 'conf.shortcut.see_on_website',
- 'conf.shortcut.shift_for_all_read',
- 'conf.shortcut.skip_next_article',
- 'conf.shortcut.skip_previous_article',
- 'conf.shortcut.title',
- 'conf.shortcut.toggle_media',
- 'conf.shortcut.user_filter',
- 'conf.shortcut.user_filter_help',
- 'conf.shortcut.views',
- 'conf.user.articles_and_size',
- 'conf.user.current',
- 'conf.user.is_admin',
- 'conf.user.users',
- 'feedback.access.denied',
- 'feedback.access.not_found',
- 'feedback.admin.optimization_complete',
- 'feedback.api.password.failed',
- 'feedback.api.password.updated',
- 'feedback.auth.login.invalid',
- 'feedback.auth.login.success',
- 'feedback.auth.logout.success',
- 'feedback.conf.error',
- 'feedback.conf.query_created',
- 'feedback.conf.shortcuts_updated',
- 'feedback.conf.updated',
- 'feedback.extensions.already_enabled',
- 'feedback.extensions.cannot_remove',
- 'feedback.extensions.disable.ko',
- 'feedback.extensions.disable.ok',
- 'feedback.extensions.enable.ko',
- 'feedback.extensions.enable.ok',
- 'feedback.extensions.no_access',
- 'feedback.extensions.not_enabled',
- 'feedback.extensions.not_found',
- 'feedback.extensions.removed',
- 'feedback.import_export.export_no_zip_extension',
- 'feedback.import_export.feeds_imported',
- 'feedback.import_export.feeds_imported_with_errors',
- 'feedback.import_export.file_cannot_be_uploaded',
- 'feedback.import_export.no_zip_extension',
- 'feedback.import_export.zip_error',
- 'feedback.profile.error',
- 'feedback.profile.updated',
- 'feedback.sub.actualize',
- 'feedback.sub.articles.marked_read',
- 'feedback.sub.articles.marked_unread',
- 'feedback.sub.category.created',
- 'feedback.sub.category.deleted',
- 'feedback.sub.category.emptied',
- 'feedback.sub.category.error',
- 'feedback.sub.category.name_exists',
- 'feedback.sub.category.no_id',
- 'feedback.sub.category.no_name',
- 'feedback.sub.category.not_delete_default',
- 'feedback.sub.category.not_exist',
- 'feedback.sub.category.over_max',
- 'feedback.sub.category.updated',
- 'feedback.sub.feed.actualized',
- 'feedback.sub.feed.actualizeds',
- 'feedback.sub.feed.added',
- 'feedback.sub.feed.already_subscribed',
- 'feedback.sub.feed.cache_cleared',
- 'feedback.sub.feed.deleted',
- 'feedback.sub.feed.error',
- 'feedback.sub.feed.internal_problem',
- 'feedback.sub.feed.invalid_url',
- 'feedback.sub.feed.n_actualized',
- 'feedback.sub.feed.n_entries_deleted',
- 'feedback.sub.feed.no_refresh',
- 'feedback.sub.feed.not_added',
- 'feedback.sub.feed.not_found',
- 'feedback.sub.feed.over_max',
- 'feedback.sub.feed.reloaded',
- 'feedback.sub.feed.selector_preview.http_error',
- 'feedback.sub.feed.selector_preview.no_entries',
- 'feedback.sub.feed.selector_preview.no_feed',
- 'feedback.sub.feed.selector_preview.no_result',
- 'feedback.sub.feed.selector_preview.selector_empty',
- 'feedback.sub.feed.updated',
- 'feedback.sub.purge_completed',
- 'feedback.tag.created',
- 'feedback.tag.name_exists',
- 'feedback.tag.renamed',
- 'feedback.update.can_apply',
- 'feedback.update.error',
- 'feedback.update.file_is_nok',
- 'feedback.update.finished',
- 'feedback.update.none',
- 'feedback.update.server_not_found',
- 'feedback.user.created._',
- 'feedback.user.created.error',
- 'feedback.user.deleted._',
- 'feedback.user.deleted.error',
- 'feedback.user.updated._',
- 'feedback.user.updated.error',
- 'gen.action.actualize',
- 'gen.action.add',
- 'gen.action.back',
- 'gen.action.back_to_rss_feeds',
- 'gen.action.cancel',
- 'gen.action.create',
- 'gen.action.demote',
- 'gen.action.disable',
- 'gen.action.empty',
- 'gen.action.enable',
- 'gen.action.export',
- 'gen.action.filter',
- 'gen.action.import',
- 'gen.action.load_default_shortcuts',
- 'gen.action.manage',
- 'gen.action.mark_read',
- 'gen.action.promote',
- 'gen.action.purge',
- 'gen.action.remove',
- 'gen.action.rename',
- 'gen.action.see_website',
- 'gen.action.submit',
- 'gen.action.truncate',
- 'gen.action.update',
- 'gen.auth.accept_tos',
- 'gen.auth.email',
- 'gen.auth.keep_logged_in',
- 'gen.auth.login',
- 'gen.auth.logout',
- 'gen.auth.password._',
- 'gen.auth.password.format',
- 'gen.auth.registration._',
- 'gen.auth.registration.ask',
- 'gen.auth.registration.title',
- 'gen.auth.username._',
- 'gen.auth.username.format',
- 'gen.date.Apr',
- 'gen.date.Aug',
- 'gen.date.Dec',
- 'gen.date.Feb',
- 'gen.date.Jan',
- 'gen.date.Jul',
- 'gen.date.Jun',
- 'gen.date.Mar',
- 'gen.date.May',
- 'gen.date.Nov',
- 'gen.date.Oct',
- 'gen.date.Sep',
- 'gen.date.apr',
- 'gen.date.april',
- 'gen.date.aug',
- 'gen.date.august',
- 'gen.date.before_yesterday',
- 'gen.date.dec',
- 'gen.date.december',
- 'gen.date.feb',
- 'gen.date.february',
- 'gen.date.format_date',
- 'gen.date.format_date_hour',
- 'gen.date.fri',
- 'gen.date.jan',
- 'gen.date.january',
- 'gen.date.jul',
- 'gen.date.july',
- 'gen.date.jun',
- 'gen.date.june',
- 'gen.date.last_2_year',
- 'gen.date.last_3_month',
- 'gen.date.last_3_year',
- 'gen.date.last_5_year',
- 'gen.date.last_6_month',
- 'gen.date.last_month',
- 'gen.date.last_week',
- 'gen.date.last_year',
- 'gen.date.mar',
- 'gen.date.march',
- 'gen.date.may',
- 'gen.date.may_',
- 'gen.date.mon',
- 'gen.date.month',
- 'gen.date.nov',
- 'gen.date.november',
- 'gen.date.oct',
- 'gen.date.october',
- 'gen.date.sat',
- 'gen.date.sep',
- 'gen.date.september',
- 'gen.date.sun',
- 'gen.date.thu',
- 'gen.date.today',
- 'gen.date.tue',
- 'gen.date.wed',
- 'gen.date.yesterday',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.freshrss.about',
- 'gen.js.category_empty',
- 'gen.js.feedback.body_new_articles',
- 'gen.js.feedback.request_failed',
- 'gen.js.feedback.title_new_articles',
- 'gen.js.new_article',
- 'gen.js.should_be_activated',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.menu.about',
- 'gen.menu.account',
- 'gen.menu.admin',
- 'gen.menu.archiving',
- 'gen.menu.authentication',
- 'gen.menu.check_install',
- 'gen.menu.configuration',
- 'gen.menu.display',
- 'gen.menu.extensions',
- 'gen.menu.logs',
- 'gen.menu.queries',
- 'gen.menu.reading',
- 'gen.menu.search',
- 'gen.menu.sharing',
- 'gen.menu.shortcuts',
- 'gen.menu.stats',
- 'gen.menu.system',
- 'gen.menu.update',
- 'gen.menu.user_management',
- 'gen.menu.user_profile',
- 'gen.pagination.first',
- 'gen.pagination.last',
- 'gen.pagination.load_more',
- 'gen.pagination.mark_all_read',
- 'gen.pagination.next',
- 'gen.pagination.nothing_to_load',
- 'gen.pagination.previous',
- 'gen.period.days',
- 'gen.period.hours',
- 'gen.period.months',
- 'gen.period.weeks',
- 'gen.period.years',
- 'gen.share.Known',
- 'gen.share.blogotext',
- 'gen.share.clipboard',
- 'gen.share.diaspora',
- 'gen.share.email',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.print',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'gen.short.attention',
- 'gen.short.blank_to_disable',
- 'gen.short.by_author',
- 'gen.short.by_default',
- 'gen.short.damn',
- 'gen.short.default_category',
- 'gen.short.no',
- 'gen.short.not_applicable',
- 'gen.short.ok',
- 'gen.short.or',
- 'gen.short.yes',
- 'index.about._',
- 'index.about.agpl3',
- 'index.about.bugs_reports',
- 'index.about.credits',
- 'index.about.credits_content',
- 'index.about.freshrss_description',
- 'index.about.github',
- 'index.about.license',
- 'index.about.project_website',
- 'index.about.title',
- 'index.about.version',
- 'index.feed.add',
- 'index.feed.empty',
- 'index.feed.rss_of',
- 'index.feed.title',
- 'index.feed.title_global',
- 'index.log._',
- 'index.log.clear',
- 'index.log.empty',
- 'index.log.title',
- 'index.menu.about',
- 'index.menu.before_one_day',
- 'index.menu.before_one_week',
- 'index.menu.bookmark_query',
- 'index.menu.global_view',
- 'index.menu.main_stream',
- 'index.menu.mark_all_read',
- 'index.menu.mark_cat_read',
- 'index.menu.mark_feed_read',
- 'index.menu.mark_selection_unread',
- 'index.menu.newer_first',
- 'index.menu.normal_view',
- 'index.menu.older_first',
- 'index.menu.queries',
- 'index.menu.read',
- 'index.menu.reader_view',
- 'index.menu.rss_view',
- 'index.menu.search_short',
- 'index.menu.stats',
- 'index.menu.subscription',
- 'index.menu.tags',
- 'index.menu.unread',
- 'index.share',
- 'index.tag.related',
- 'index.tos.title',
- 'install.action.finish',
- 'install.action.fix_errors_before',
- 'install.action.keep_install',
- 'install.action.next_step',
- 'install.action.reinstall',
- 'install.auth.form',
- 'install.auth.http',
- 'install.auth.none',
- 'install.auth.password_form',
- 'install.auth.password_format',
- 'install.auth.type',
- 'install.bdd._',
- 'install.bdd.conf._',
- 'install.bdd.conf.ko',
- 'install.bdd.conf.ok',
- 'install.bdd.host',
- 'install.bdd.password',
- 'install.bdd.prefix',
- 'install.bdd.type',
- 'install.bdd.username',
- 'install.check._',
- 'install.check.already_installed',
- 'install.check.cache.nok',
- 'install.check.cache.ok',
- 'install.check.ctype.nok',
- 'install.check.ctype.ok',
- 'install.check.curl.nok',
- 'install.check.curl.ok',
- 'install.check.data.nok',
- 'install.check.data.ok',
- 'install.check.dom.nok',
- 'install.check.dom.ok',
- 'install.check.favicons.nok',
- 'install.check.favicons.ok',
- 'install.check.fileinfo.nok',
- 'install.check.fileinfo.ok',
- 'install.check.json.nok',
- 'install.check.json.ok',
- 'install.check.mbstring.nok',
- 'install.check.mbstring.ok',
- 'install.check.pcre.nok',
- 'install.check.pcre.ok',
- 'install.check.pdo.nok',
- 'install.check.pdo.ok',
- 'install.check.php.nok',
- 'install.check.php.ok',
- 'install.check.reload',
- 'install.check.tmp.nok',
- 'install.check.tmp.ok',
- 'install.check.unknown_process_username',
- 'install.check.users.nok',
- 'install.check.users.ok',
- 'install.check.xml.nok',
- 'install.check.xml.ok',
- 'install.conf._',
- 'install.conf.ok',
- 'install.congratulations',
- 'install.default_user',
- 'install.fix_errors_before',
- 'install.javascript_is_better',
- 'install.js.confirm_reinstall',
- 'install.language._',
- 'install.language.choose',
- 'install.language.defined',
- 'install.missing_applied_migrations',
- 'install.ok',
- 'install.session.nok',
- 'install.step',
- 'install.steps',
- 'install.this_is_the_end',
- 'install.title',
- 'sub.api.documentation',
- 'sub.api.title',
- 'sub.bookmarklet.documentation',
- 'sub.bookmarklet.label',
- 'sub.bookmarklet.title',
- 'sub.category._',
- 'sub.category.add',
- 'sub.category.archiving',
- 'sub.category.empty',
- 'sub.category.information',
- 'sub.category.position',
- 'sub.category.position_help',
- 'sub.category.title',
- 'sub.feed.add',
- 'sub.feed.advanced',
- 'sub.feed.archiving',
- 'sub.feed.auth.configuration',
- 'sub.feed.auth.help',
- 'sub.feed.auth.http',
- 'sub.feed.auth.password',
- 'sub.feed.auth.username',
- 'sub.feed.clear_cache',
- 'sub.feed.content_action._',
- 'sub.feed.content_action.append',
- 'sub.feed.content_action.prepend',
- 'sub.feed.content_action.replace',
- 'sub.feed.css_cookie',
- 'sub.feed.css_cookie_help',
- 'sub.feed.css_help',
- 'sub.feed.css_path',
- 'sub.feed.description',
- 'sub.feed.empty',
- 'sub.feed.error',
- 'sub.feed.filteractions._',
- 'sub.feed.filteractions.help',
- 'sub.feed.information',
- 'sub.feed.keep_min',
- 'sub.feed.maintenance.clear_cache',
- 'sub.feed.maintenance.clear_cache_help',
- 'sub.feed.maintenance.reload_articles',
- 'sub.feed.maintenance.reload_articles_help',
- 'sub.feed.maintenance.title',
- 'sub.feed.moved_category_deleted',
- 'sub.feed.mute',
- 'sub.feed.no_selected',
- 'sub.feed.number_entries',
- 'sub.feed.priority._',
- 'sub.feed.priority.archived',
- 'sub.feed.priority.main_stream',
- 'sub.feed.priority.normal',
- 'sub.feed.proxy',
- 'sub.feed.proxy_help',
- 'sub.feed.selector_preview.show_raw',
- 'sub.feed.selector_preview.show_rendered',
- 'sub.feed.show.all',
- 'sub.feed.show.error',
- 'sub.feed.showing.error',
- 'sub.feed.ssl_verify',
- 'sub.feed.stats',
- 'sub.feed.think_to_add',
- 'sub.feed.timeout',
- 'sub.feed.title',
- 'sub.feed.title_add',
- 'sub.feed.ttl',
- 'sub.feed.url',
- 'sub.feed.useragent',
- 'sub.feed.useragent_help',
- 'sub.feed.validator',
- 'sub.feed.website',
- 'sub.feed.websub',
- 'sub.import_export.export',
- 'sub.import_export.export_opml',
- 'sub.import_export.feed_list',
- 'sub.import_export.file_to_import',
- 'sub.import_export.file_to_import_no_zip',
- 'sub.import_export.import',
- 'sub.import_export.title',
- 'sub.menu.add',
- 'sub.menu.import_export',
- 'sub.menu.label_management',
- 'sub.menu.stats.idle',
- 'sub.menu.stats.main',
- 'sub.menu.stats.repartition',
- 'sub.menu.subscription_management',
- 'sub.menu.subscription_tools',
- 'sub.tag.name',
- 'sub.tag.new_name',
- 'sub.tag.old_name',
- 'sub.title._',
- 'sub.title.add',
- 'sub.title.add_category',
- 'sub.title.add_feed',
- 'sub.title.add_label',
- 'sub.title.delete_label',
- 'sub.title.feed_management',
- 'sub.title.rename_label',
- 'sub.title.subscription_tools',
- 'user.email.feedback.invalid',
- 'user.email.feedback.required',
- 'user.email.validation.change_email',
- 'user.email.validation.email_sent_to',
- 'user.email.validation.feedback.email_failed',
- 'user.email.validation.feedback.email_sent',
- 'user.email.validation.feedback.error',
- 'user.email.validation.feedback.ok',
- 'user.email.validation.feedback.unnecessary',
- 'user.email.validation.feedback.wrong_token',
- 'user.email.validation.need_to',
- 'user.email.validation.resend_email',
- 'user.email.validation.title',
- 'user.mailer.email_need_validation.body',
- 'user.mailer.email_need_validation.title',
- 'user.mailer.email_need_validation.welcome',
- 'user.password.invalid',
- 'user.tos.feedback.invalid',
- 'user.username.invalid',
- 'user.username.taken',
-);
diff --git a/cli/i18n/ignore/en.php b/cli/i18n/ignore/en.php
deleted file mode 100644
index 89574966d..000000000
--- a/cli/i18n/ignore/en.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-
-return array(
- 'admin.check_install.cache.nok',
- 'admin.check_install.cache.ok',
- 'admin.check_install.categories.nok',
- 'admin.check_install.categories.ok',
- 'admin.check_install.connection.nok',
- 'admin.check_install.connection.ok',
- 'admin.check_install.ctype.nok',
- 'admin.check_install.ctype.ok',
- 'admin.check_install.curl.nok',
- 'admin.check_install.curl.ok',
- 'admin.check_install.data.nok',
- 'admin.check_install.data.ok',
- 'admin.check_install.dom.nok',
- 'admin.check_install.dom.ok',
- 'admin.check_install.entries.nok',
- 'admin.check_install.entries.ok',
- 'admin.check_install.favicons.nok',
- 'admin.check_install.favicons.ok',
- 'admin.check_install.feeds.nok',
- 'admin.check_install.feeds.ok',
- 'admin.check_install.fileinfo.nok',
- 'admin.check_install.fileinfo.ok',
- 'admin.check_install.json.nok',
- 'admin.check_install.json.ok',
- 'admin.check_install.pcre.nok',
- 'admin.check_install.pcre.ok',
- 'admin.check_install.pdo.nok',
- 'admin.check_install.pdo.ok',
- 'admin.check_install.php.nok',
- 'admin.check_install.php.ok',
- 'admin.check_install.tables.nok',
- 'admin.check_install.tables.ok',
- 'admin.check_install.tokens.nok',
- 'admin.check_install.tokens.ok',
- 'admin.check_install.users.nok',
- 'admin.check_install.users.ok',
- 'admin.check_install.zip.nok',
- 'admin.check_install.zip.ok',
- 'conf.query.get_all',
- 'conf.query.get_category',
- 'conf.query.get_favorite',
- 'conf.query.get_feed',
- 'conf.query.order_asc',
- 'conf.query.order_desc',
- 'conf.query.state_0',
- 'conf.query.state_1',
- 'conf.query.state_10',
- 'conf.query.state_11',
- 'conf.query.state_12',
- 'conf.query.state_13',
- 'conf.query.state_14',
- 'conf.query.state_15',
- 'conf.query.state_2',
- 'conf.query.state_3',
- 'conf.query.state_4',
- 'conf.query.state_5',
- 'conf.query.state_6',
- 'conf.query.state_7',
- 'conf.query.state_8',
- 'conf.query.state_9',
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.email',
- 'conf.sharing.facebook',
- 'conf.sharing.print',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.Known',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.email',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.movim',
- 'gen.share.print',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'index.menu.non-starred',
- 'index.menu.read',
- 'index.menu.starred',
- 'index.menu.unread',
-);
diff --git a/cli/i18n/ignore/es.php b/cli/i18n/ignore/es.php
deleted file mode 100644
index 43d34b2da..000000000
--- a/cli/i18n/ignore/es.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-return array(
- 'admin.stats.status_total',
- 'admin.user.feed_count',
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.email',
- 'conf.sharing.facebook',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.date.format_date',
- 'gen.date.format_date_hour',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.email',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'gen.short.no',
- 'index.about.agpl3',
- 'sub.api.title',
- 'sub.bookmarklet.title',
-);
diff --git a/cli/i18n/ignore/fr.php b/cli/i18n/ignore/fr.php
deleted file mode 100644
index 78f517c08..000000000
--- a/cli/i18n/ignore/fr.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-return array(
- 'admin.extensions.description',
- 'admin.extensions.title',
- 'admin.extensions.version',
- 'admin.stats.number_entries',
- 'admin.user.article_count',
- 'conf.archiving.maintenance',
- 'conf.display.thumbnail.portrait',
- 'conf.display.width.large',
- 'conf.query.filter.search',
- 'conf.query.filter.type',
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.facebook',
- 'conf.sharing.print',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'conf.shortcut.navigation',
- 'conf.user.articles_and_size',
- 'gen.date.format_date',
- 'gen.date.format_date_hour',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.menu.admin',
- 'gen.menu.configuration',
- 'gen.menu.extensions',
- 'gen.menu.logs',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'index.about.agpl3',
- 'index.about.version',
- 'index.log._',
- 'index.log.title',
- 'install.this_is_the_end',
- 'install.title',
- 'sub.api.title',
- 'sub.bookmarklet.title',
- 'sub.feed.description',
- 'sub.feed.maintenance.title',
- 'sub.feed.number_entries',
-);
diff --git a/cli/i18n/ignore/he.php b/cli/i18n/ignore/he.php
deleted file mode 100644
index 7ec93f84a..000000000
--- a/cli/i18n/ignore/he.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-return array(
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.facebook',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.date.format_date',
- 'gen.date.format_date_hour',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'gen.short.no',
- 'index.about.agpl3',
-);
diff --git a/cli/i18n/ignore/it.php b/cli/i18n/ignore/it.php
deleted file mode 100644
index 27ddffa04..000000000
--- a/cli/i18n/ignore/it.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-return array(
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.facebook',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.dir',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'gen.short.no',
- 'index.about.agpl3',
-);
diff --git a/cli/i18n/ignore/ja.php b/cli/i18n/ignore/ja.php
deleted file mode 100644
index 075fefc36..000000000
--- a/cli/i18n/ignore/ja.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-return array(
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.facebook',
- 'conf.sharing.print',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'index.about.agpl3',
- 'sub.api.title',
-);
diff --git a/cli/i18n/ignore/ko.php b/cli/i18n/ignore/ko.php
deleted file mode 100644
index a9ba0700b..000000000
--- a/cli/i18n/ignore/ko.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-return array(
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.facebook',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.date.Apr',
- 'gen.date.Aug',
- 'gen.date.Dec',
- 'gen.date.Feb',
- 'gen.date.Jan',
- 'gen.date.Jul',
- 'gen.date.Jun',
- 'gen.date.Mar',
- 'gen.date.May',
- 'gen.date.Nov',
- 'gen.date.Oct',
- 'gen.date.Sep',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.Known',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'index.about.agpl3',
- 'sub.api.title',
-);
diff --git a/cli/i18n/ignore/nl.php b/cli/i18n/ignore/nl.php
deleted file mode 100644
index f2ae47c39..000000000
--- a/cli/i18n/ignore/nl.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-return array(
- 'admin.stats.feed',
- 'admin.user.feed_count',
- 'conf.query.filter.type',
- 'conf.query.number',
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.email',
- 'conf.sharing.facebook',
- 'conf.sharing.print',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.date.Apr',
- 'gen.date.Dec',
- 'gen.date.Nov',
- 'gen.date.Sep',
- 'gen.date.format_date',
- 'gen.date.format_date_hour',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.menu.account',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.email',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.print',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'gen.short.ok',
- 'index.about.agpl3',
- 'index.about.version',
- 'install.bdd._',
- 'install.bdd.host',
- 'sub.api.title',
- 'sub.bookmarklet.title',
-);
diff --git a/cli/i18n/ignore/oc.php b/cli/i18n/ignore/oc.php
deleted file mode 100644
index 7a0991f58..000000000
--- a/cli/i18n/ignore/oc.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-return array(
- 'admin.extensions.title',
- 'admin.extensions.version',
- 'admin.stats.number_entries',
- 'admin.stats.status_total',
- 'admin.user.admin',
- 'admin.user.article_count',
- 'conf.display.width.large',
- 'conf.query.filter.search',
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.facebook',
- 'conf.sharing.print',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'conf.shortcut.navigation',
- 'conf.user.articles_and_size',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.menu.admin',
- 'gen.menu.configuration',
- 'gen.menu.extensions',
- 'gen.menu.logs',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'index.about.agpl3',
- 'index.about.version',
- 'index.log._',
- 'index.log.title',
- 'install.this_is_the_end',
- 'install.title',
- 'sub.api.title',
- 'sub.bookmarklet.title',
- 'sub.feed.description',
- 'sub.feed.number_entries',
-);
diff --git a/cli/i18n/ignore/pl.php b/cli/i18n/ignore/pl.php
deleted file mode 100644
index 9db10449a..000000000
--- a/cli/i18n/ignore/pl.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-return array(
- 'admin.user.admin',
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.facebook',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.date.format_date',
- 'gen.date.format_date_hour',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'gen.short.ok',
- 'index.about.agpl3',
- 'sub.api.title',
- 'sub.import_export.import',
-);
diff --git a/cli/i18n/ignore/pt-br.php b/cli/i18n/ignore/pt-br.php
deleted file mode 100644
index 56fe1f712..000000000
--- a/cli/i18n/ignore/pt-br.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-return array(
- 'admin.stats.feed',
- 'admin.stats.status_total',
- 'admin.user.feed_count',
- 'conf.query.number',
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.facebook',
- 'conf.sharing.print',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.menu.logs',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'gen.short.ok',
- 'index.about.agpl3',
- 'index.log._',
- 'index.log.title',
- 'install.bdd.host',
- 'sub.api.title',
- 'sub.bookmarklet.title',
-);
diff --git a/cli/i18n/ignore/ru.php b/cli/i18n/ignore/ru.php
deleted file mode 100644
index 634396dad..000000000
--- a/cli/i18n/ignore/ru.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-return array(
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.facebook',
- 'conf.sharing.print',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.date.format_date',
- 'gen.date.format_date_hour',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'index.about.agpl3',
- 'sub.api.title',
-);
diff --git a/cli/i18n/ignore/sk.php b/cli/i18n/ignore/sk.php
deleted file mode 100644
index 02c2f5495..000000000
--- a/cli/i18n/ignore/sk.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-return array(
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.email',
- 'conf.sharing.facebook',
- 'conf.sharing.print',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.date.Aug',
- 'gen.date.Dec',
- 'gen.date.Nov',
- 'gen.date.Sep',
- 'gen.date.apr',
- 'gen.date.aug',
- 'gen.date.august',
- 'gen.date.dec',
- 'gen.date.december',
- 'gen.date.feb',
- 'gen.date.format_date',
- 'gen.date.format_date_hour',
- 'gen.date.jan',
- 'gen.date.mar',
- 'gen.date.nov',
- 'gen.date.november',
- 'gen.date.sep',
- 'gen.date.september',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.email',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.print',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'index.about.agpl3',
- 'sub.api.title',
- 'sub.import_export.title',
- 'sub.menu.import_export',
-);
diff --git a/cli/i18n/ignore/tr.php b/cli/i18n/ignore/tr.php
deleted file mode 100644
index 5ecb9a13a..000000000
--- a/cli/i18n/ignore/tr.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-return array(
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.email',
- 'conf.sharing.facebook',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.date.format_date',
- 'gen.date.format_date_hour',
- 'gen.date.may_',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.email',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.print',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'index.about.agpl3',
- 'sub.api.title',
- 'sub.bookmarklet.title',
-);
diff --git a/cli/i18n/ignore/zh-cn.php b/cli/i18n/ignore/zh-cn.php
deleted file mode 100644
index f7847bf17..000000000
--- a/cli/i18n/ignore/zh-cn.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-return array(
- 'conf.sharing.blogotext',
- 'conf.sharing.diaspora',
- 'conf.sharing.email',
- 'conf.sharing.facebook',
- 'conf.sharing.raindrop',
- 'conf.sharing.shaarli',
- 'conf.sharing.twitter',
- 'conf.sharing.wallabag',
- 'gen.dir',
- 'gen.freshrss._',
- 'gen.lang.cz',
- 'gen.lang.de',
- 'gen.lang.en',
- 'gen.lang.en-us',
- 'gen.lang.es',
- 'gen.lang.fr',
- 'gen.lang.he',
- 'gen.lang.it',
- 'gen.lang.ja',
- 'gen.lang.ko',
- 'gen.lang.nl',
- 'gen.lang.oc',
- 'gen.lang.pl',
- 'gen.lang.pt-br',
- 'gen.lang.ru',
- 'gen.lang.sk',
- 'gen.lang.tr',
- 'gen.lang.zh-cn',
- 'gen.share.blogotext',
- 'gen.share.diaspora',
- 'gen.share.email',
- 'gen.share.facebook',
- 'gen.share.gnusocial',
- 'gen.share.jdh',
- 'gen.share.lemmy',
- 'gen.share.linkedin',
- 'gen.share.mastodon',
- 'gen.share.movim',
- 'gen.share.pinboard',
- 'gen.share.pocket',
- 'gen.share.raindrop',
- 'gen.share.shaarli',
- 'gen.share.twitter',
- 'gen.share.wallabag',
- 'gen.share.wallabagv2',
- 'index.about.agpl3',
- 'sub.api.title',
-);
diff --git a/cli/manipulate.translation.php b/cli/manipulate.translation.php
index 1e9de4385..2b53b8606 100755
--- a/cli/manipulate.translation.php
+++ b/cli/manipulate.translation.php
@@ -3,7 +3,6 @@
require_once __DIR__ . '/i18n/I18nData.php';
require_once __DIR__ . '/i18n/I18nFile.php';
-require_once __DIR__ . '/i18n/I18nIgnoreFile.php';
$options = getopt("a:hk:l:o:rv:");
@@ -16,8 +15,7 @@ if (!array_key_exists('a', $options)) {
}
$data = new I18nFile();
-$ignore = new I18nIgnoreFile();
-$i18nData = new I18nData($data->load(), $ignore->load());
+$i18nData = new I18nData($data->load());
switch ($options['a']) {
case 'add' :
@@ -81,7 +79,6 @@ switch ($options['a']) {
}
$data->dump($i18nData->getData());
-$ignore->dump($i18nData->getIgnore());
/**
* Output error message.
@@ -99,19 +96,20 @@ ERROR;
* Output help message.
*/
function help() {
- $help = <<<HELP
+ $file = str_replace(__DIR__ . '/', '', __FILE__);
+ echo <<<HELP
NAME
- %1\$s
+ $file
SYNOPSIS
- php %1\$s [OPTIONS]
+ php $file [OPTIONS]
DESCRIPTION
Manipulate translation files.
-a=ACTION
select the action to perform. Available actions are add, delete,
- exist, format, and ignore. This option is mandatory.
+ exist, format, ignore, and ignore_unmodified. This option is mandatory.
-k=KEY select the key to work on.
-v=VAL select the value to set.
-l=LANG select the language to work on.
@@ -121,38 +119,35 @@ DESCRIPTION
EXAMPLES
Example 1: add a language. It adds a new language by duplicating the referential.
- php %1\$s -a add -l my_lang
- php %1\$s -a add -l my_lang -o ref_lang
+ php $file -a add -l my_lang
+ php $file -a add -l my_lang -o ref_lang
Example 2: add a new key. It adds the key for all supported languages.
- php %1\$s -a add -k my_key -v my_value
+ php $file -a add -k my_key -v my_value
Example 3: add a new value. It adds a new value for the selected key in the selected language.
- php %1\$s -a add -k my_key -v my_value -l my_lang
+ php $file -a add -k my_key -v my_value -l my_lang
Example 4: delete a key. It deletes the selected key from all supported languages.
- php %1\$s -a delete -k my_key
+ php $file -a delete -k my_key
Example 5: format i18n files.
- php %1\$s -a format
+ php $file -a format
Example 6: ignore a key. It adds the key in the ignore file to mark it as translated.
- php %1\$s -a ignore -k my_key -l my_lang
+ php $file -a ignore -k my_key -l my_lang
Example 7: revert ignore a key. It removes the key from the ignore file.
- php %1\$s -a ignore -r -k my_key -l my_lang
+ php $file -a ignore -r -k my_key -l my_lang
Example 8: ignore all unmodified keys. It adds all modified keys in the ignore file to mark it as translated.
- php %1\$s -a ignore_unmodified -l my_lang
+ php $file -a ignore_unmodified -l my_lang
Example 9: revert ignore of all unmodified keys. It removes the unmodified keys from the ignore file. Warning, this will also revert keys added individually.
- php %1\$s -a ignore_unmodified -r -l my_lang
+ php $file -a ignore_unmodified -r -l my_lang
Example 10: check if a key exist.
- php %1\$s -a exist -k my_key\n\n
+ php $file -a exist -k my_key\n\n
HELP;
- $file = str_replace(__DIR__ . '/', '', __FILE__);
- echo sprintf($help, $file);
- exit;
}