From 91ef424bd0445555d7b3a2fed87a5b008ce86d55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Fri, 23 Sep 2016 22:54:46 +0200 Subject: [PATCH] FEATURE: extend translation command for translating also templates --- app/Console/Commands/TranslateAll.php | 27 ++++++++++++++++++++++----- app/Console/Commands/Translations.php | 7 +++---- app/Helpers/CurrentTemplate.php | 6 ++++++ 3 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 app/Helpers/CurrentTemplate.php diff --git a/app/Console/Commands/TranslateAll.php b/app/Console/Commands/TranslateAll.php index 26635d17..508802fc 100644 --- a/app/Console/Commands/TranslateAll.php +++ b/app/Console/Commands/TranslateAll.php @@ -29,15 +29,32 @@ class TranslateAll extends Command /** * Execute the console command. - * @return mixed */ public function handle() { $this->call('translate:dir', ['dir' => 'resources/lang']); - - $modules = File::directories('modules'); - foreach ($modules as $module) { - $this->call('translate:dir', ['dir' => $module.'/Resources/lang']); + + $this->crawlDirectory('modules'); + $this->crawlDirectory('templates', ['templates/Base']); + $this->crawlDirectory('templates/Base'); + } + + /** + * Crawl directories and search for directories with translations + * + * @param $directory + * @param array $ignoredDirectories + */ + protected function crawlDirectory($directory, $ignoredDirectories = []) + { + $directories = File::directories($directory); + foreach ($directories as $dir) { + + if (in_array($dir, $ignoredDirectories)) { + continue; + } + + $this->call('translate:dir', ['dir' => $dir . '/Resources/lang']); } } } \ No newline at end of file diff --git a/app/Console/Commands/Translations.php b/app/Console/Commands/Translations.php index 333cb971..23911980 100644 --- a/app/Console/Commands/Translations.php +++ b/app/Console/Commands/Translations.php @@ -25,7 +25,6 @@ class Translations extends Command /** * Execute the console command. - * @return mixed */ public function handle() { @@ -33,15 +32,15 @@ class Translations extends Command $defaultLocales = config('app.fallback_locale'); $currentLocales = config('app.locale'); - $defaultLocalesDir = $dir . '/' . $defaultLocales; - $currentLocalesDir = $dir . '/' . $currentLocales; + $defaultLocalesDir = base_path($dir . '/' . $defaultLocales); + $currentLocalesDir = base_path($dir . '/' . $currentLocales); if (!is_dir($defaultLocalesDir)) { // this is the place for checking for submodules $modulePath = dirname(dirname($dir)); - if (file_exists($modulePath . '/info.php')) { + if (is_dir(base_path($modulePath . '/Resources/lang'))) { $modules = File::directories($modulePath); foreach ($modules as $module) { $this->call('translate:dir', ['dir' => $module . '/Resources/lang']); diff --git a/app/Helpers/CurrentTemplate.php b/app/Helpers/CurrentTemplate.php new file mode 100644 index 00000000..30489d6b --- /dev/null +++ b/app/Helpers/CurrentTemplate.php @@ -0,0 +1,6 @@ +