summaryrefslogtreecommitdiff
path: root/app/Console/LocaleComparator.php
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-04-12 21:26:17 -0400
committerFrederic Guillot <fred@kanboard.net>2016-04-12 21:26:17 -0400
commitaf7027ea31a691e2eea6d813f6aa3cf08f8b9d0a (patch)
tree8524395f06b30f812dca5cd68dd15fa09e3a2410 /app/Console/LocaleComparator.php
parent2a74ed6e63b05627928e1dd6eeb67d824f4c1903 (diff)
Rename CLI classes
Diffstat (limited to 'app/Console/LocaleComparator.php')
-rw-r--r--app/Console/LocaleComparator.php81
1 files changed, 0 insertions, 81 deletions
diff --git a/app/Console/LocaleComparator.php b/app/Console/LocaleComparator.php
deleted file mode 100644
index 8e5e0904..00000000
--- a/app/Console/LocaleComparator.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
-
-namespace Kanboard\Console;
-
-use RecursiveIteratorIterator;
-use RecursiveDirectoryIterator;
-use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Output\OutputInterface;
-
-class LocaleComparator extends Base
-{
- const REF_LOCALE = 'fr_FR';
-
- protected function configure()
- {
- $this
- ->setName('locale:compare')
- ->setDescription('Compare application translations with the '.self::REF_LOCALE.' locale');
- }
-
- protected function execute(InputInterface $input, OutputInterface $output)
- {
- $strings = array();
- $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('app'));
- $it->rewind();
-
- while ($it->valid()) {
- if (! $it->isDot() && substr($it->key(), -4) === '.php') {
- $strings = array_merge($strings, $this->search($it->key()));
- }
-
- $it->next();
- }
-
- $this->compare(array_unique($strings));
- }
-
- public function show(array $strings)
- {
- foreach ($strings as $string) {
- echo " '".str_replace("'", "\'", $string)."' => '',".PHP_EOL;
- }
- }
-
- public function compare(array $strings)
- {
- $reference_file = 'app/Locale/'.self::REF_LOCALE.'/translations.php';
- $reference = include $reference_file;
-
- echo str_repeat('#', 70).PHP_EOL;
- echo 'MISSING STRINGS'.PHP_EOL;
- echo str_repeat('#', 70).PHP_EOL;
- $this->show(array_diff($strings, array_keys($reference)));
-
- echo str_repeat('#', 70).PHP_EOL;
- echo 'USELESS STRINGS'.PHP_EOL;
- echo str_repeat('#', 70).PHP_EOL;
- $this->show(array_diff(array_keys($reference), $strings));
- }
-
- public function search($filename)
- {
- $content = file_get_contents($filename);
- $strings = array();
-
- if (preg_match_all('/\b[et]\((\'\K.*?\') *[\)\,]/', $content, $matches) && isset($matches[1])) {
- $strings = $matches[1];
- }
-
- if (preg_match_all('/\bdt\((\'\K.*?\') *[\)\,]/', $content, $matches) && isset($matches[1])) {
- $strings = array_merge($strings, $matches[1]);
- }
-
- array_walk($strings, function (&$value) {
- $value = trim($value, "'");
- $value = str_replace("\'", "'", $value);
- });
-
- return $strings;
- }
-}