1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
/* |
4
|
|
|
* This file is part of the ONGR package. |
5
|
|
|
* |
6
|
|
|
* (c) NFQ Technologies UAB <[email protected]> |
7
|
|
|
* |
8
|
|
|
* For the full copyright and license information, please view the LICENSE |
9
|
|
|
* file that was distributed with this source code. |
10
|
|
|
*/ |
11
|
|
|
|
12
|
|
|
namespace ONGR\TranslationsBundle\Command; |
13
|
|
|
|
14
|
|
|
use ONGR\TranslationsBundle\Service\Import\ImportManager; |
15
|
|
|
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; |
16
|
|
|
use Symfony\Component\Console\Input\InputArgument; |
17
|
|
|
use Symfony\Component\Console\Input\InputInterface; |
18
|
|
|
use Symfony\Component\Console\Input\InputOption; |
19
|
|
|
use Symfony\Component\Console\Output\OutputInterface; |
20
|
|
|
|
21
|
|
|
/** |
22
|
|
|
* Translations import command. |
23
|
|
|
*/ |
24
|
|
|
class ImportCommand extends ContainerAwareCommand |
25
|
|
|
{ |
26
|
|
|
/** |
27
|
|
|
* {@inheritdoc} |
28
|
|
|
*/ |
29
|
|
|
protected function configure() |
30
|
|
|
{ |
31
|
|
|
$this->setName('ongr:translations:import'); |
32
|
|
|
$this->setDescription('Import all translations from flat files into the elasticsearch database.'); |
33
|
|
|
$this->addOption( |
34
|
|
|
'locales', |
35
|
|
|
'l', |
36
|
|
|
InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, |
37
|
|
|
'Import only the specific locales, leave blank to import all configured.' |
38
|
|
|
); |
39
|
|
|
$this->addArgument( |
40
|
6 |
|
'bundle', |
41
|
|
|
InputArgument::OPTIONAL, |
42
|
6 |
|
'Import translations for the specific bundle.' |
43
|
6 |
|
); |
44
|
6 |
|
} |
45
|
6 |
|
|
46
|
6 |
|
/** |
47
|
6 |
|
* {@inheritdoc} |
48
|
6 |
|
*/ |
49
|
6 |
|
protected function execute(InputInterface $input, OutputInterface $output) |
50
|
6 |
|
{ |
51
|
|
|
/** @var ImportManager $import */ |
52
|
6 |
|
$import = $this->getContainer()->get('ongr_translations.import'); |
53
|
6 |
|
$configBundles = $this->getContainer()->getParameter('ongr_translations.bundles'); |
54
|
6 |
|
|
55
|
6 |
|
$locales = $input->getOption('locales'); |
56
|
6 |
|
|
57
|
6 |
|
if (empty($locales)) { |
58
|
|
|
$locales = $this->getContainer()->getParameter('ongr_translations.locales'); |
59
|
6 |
|
} |
60
|
6 |
|
|
61
|
6 |
|
$bundleNames = $input->getArgument('bundle'); |
62
|
6 |
|
|
63
|
6 |
|
$import->setLocales($locales); |
64
|
|
|
|
65
|
6 |
|
if ($bundleNames) { |
|
|
|
|
66
|
|
|
// $output->writeln("<info>*** Importing {$bundleName} translation files ***</info>"); |
|
|
|
|
67
|
|
|
// $bundle = $this->getContainer()->get('kernel')->getBundle($bundleNames); |
68
|
|
|
// |
69
|
|
|
// foreach ($bundleNames as $bundleName) { |
70
|
3 |
|
// $dir = $this->getContainer()->get('kernel')->getBundle($bundleName); |
71
|
|
|
// $import->importTranslationFiles($bundle); |
72
|
3 |
|
// } |
73
|
3 |
|
} else { |
74
|
|
|
$output->writeln('<info>*** Importing application translation files ***</info>'); |
75
|
|
|
$domain = 'messages'; |
76
|
3 |
|
$translations = $import->getTranslationsFromFiles( |
77
|
|
|
$domain, |
78
|
3 |
|
null, |
79
|
3 |
|
[$this->getContainer()->getParameter('kernel.root_dir') . 'translations'] |
80
|
2 |
|
); |
81
|
|
|
$import->writeToStorage($domain, $translations); |
82
|
3 |
|
$output->writeln('<info>*** Importing bundles translation files ***</info>'); |
83
|
|
|
|
84
|
3 |
|
foreach ($configBundles as $configBundle) { |
85
|
|
|
$import->importTranslationFiles( |
86
|
3 |
|
$configBundle, |
87
|
3 |
|
$this->getContainer()->get('kernel')->locateResource('@'.$configBundle) |
88
|
|
|
); |
89
|
3 |
|
} |
90
|
|
|
|
91
|
|
|
// $output->writeln('<info>*** Importing component translation files ***</info>'); |
|
|
|
|
92
|
|
|
// $import->importBundlesTranslationFiles( |
93
|
3 |
|
// $this->getContainer()->getParameter('ongr_translations.component_directories') |
94
|
2 |
|
// ); |
95
|
1 |
|
} |
96
|
1 |
|
} |
97
|
|
|
} |
98
|
|
|
|
This check looks for the bodies of
if
statements that have no statements or where all statements have been commented out. This may be the result of changes for debugging or the code may simply be obsolete.These
if
bodies can be removed. If you have an empty if but statements in theelse
branch, consider inverting the condition.could be turned into
This is much more concise to read.