FEATURE: extend translation command for translating also templates

This commit is contained in:
Michal Kváček
2016-09-23 22:54:46 +02:00
parent 7589051216
commit 91ef424bd0
3 changed files with 31 additions and 9 deletions
+21 -4
View File
@@ -29,15 +29,32 @@ class TranslateAll extends Command
/** /**
* Execute the console command. * Execute the console command.
* @return mixed
*/ */
public function handle() public function handle()
{ {
$this->call('translate:dir', ['dir' => 'resources/lang']); $this->call('translate:dir', ['dir' => 'resources/lang']);
$modules = File::directories('modules'); $this->crawlDirectory('modules');
foreach ($modules as $module) { $this->crawlDirectory('templates', ['templates/Base']);
$this->call('translate:dir', ['dir' => $module.'/Resources/lang']); $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']);
} }
} }
} }
+3 -4
View File
@@ -25,7 +25,6 @@ class Translations extends Command
/** /**
* Execute the console command. * Execute the console command.
* @return mixed
*/ */
public function handle() public function handle()
{ {
@@ -33,15 +32,15 @@ class Translations extends Command
$defaultLocales = config('app.fallback_locale'); $defaultLocales = config('app.fallback_locale');
$currentLocales = config('app.locale'); $currentLocales = config('app.locale');
$defaultLocalesDir = $dir . '/' . $defaultLocales; $defaultLocalesDir = base_path($dir . '/' . $defaultLocales);
$currentLocalesDir = $dir . '/' . $currentLocales; $currentLocalesDir = base_path($dir . '/' . $currentLocales);
if (!is_dir($defaultLocalesDir)) { if (!is_dir($defaultLocalesDir)) {
// this is the place for checking for submodules // this is the place for checking for submodules
$modulePath = dirname(dirname($dir)); $modulePath = dirname(dirname($dir));
if (file_exists($modulePath . '/info.php')) { if (is_dir(base_path($modulePath . '/Resources/lang'))) {
$modules = File::directories($modulePath); $modules = File::directories($modulePath);
foreach ($modules as $module) { foreach ($modules as $module) {
$this->call('translate:dir', ['dir' => $module . '/Resources/lang']); $this->call('translate:dir', ['dir' => $module . '/Resources/lang']);
+6
View File
@@ -0,0 +1,6 @@
<?php
namespace App\Helpers;
class CurrentTemplate {
}