From df9287d36eb615bf9e36547ebf0d0c52440691e3 Mon Sep 17 00:00:00 2001 From: Ahmed Darrazi Date: Mon, 15 Dec 2025 22:54:35 +0100 Subject: [PATCH] chore(i18n): add ImportDeLanguageSeeder and run seeder on container start --- database/seeders/ImportDeLanguageSeeder.php | 52 +++++++++++++++++++++ docker-compose.yml | 3 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 database/seeders/ImportDeLanguageSeeder.php diff --git a/database/seeders/ImportDeLanguageSeeder.php b/database/seeders/ImportDeLanguageSeeder.php new file mode 100644 index 00000000..47acd988 --- /dev/null +++ b/database/seeders/ImportDeLanguageSeeder.php @@ -0,0 +1,52 @@ + $langCode], + [ + 'name' => 'German', + 'nativeName' => 'Deutsch', + 'is_active' => true, + 'is_default' => false, + ] + ); + + $groupsDir = storage_path('app/lang/groups/de'); + if (!is_dir($groupsDir)) { + $this->command->info("No groups directory found at $groupsDir — skipping import."); + return; + } + + $files = glob($groupsDir.'/*.php'); + foreach ($files as $file) { + $groupKey = basename($file, '.php'); + $entries = require $file; + if (!is_array($entries)) continue; + + foreach ($entries as $entry) { + if (!isset($entry['slug'])) continue; + + LanguageProperty::updateOrCreate( + ['slug' => $entry['slug'], 'language_id' => $language->id], + array_merge($entry, ['group' => $groupKey, 'language_id' => $language->id]) + ); + } + } + + $this->command->info('ImportDeLanguageSeeder: import complete.'); + } +} diff --git a/docker-compose.yml b/docker-compose.yml index 6ba8f0ef..b8a5adcf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,4 +6,5 @@ services: restart: unless-stopped environment: APP_ENV: production - APP_DEBUG: "true" \ No newline at end of file + APP_DEBUG: "true" + command: sh -lc "php artisan migrate --force && php artisan db:seed --class=ImportDeLanguageSeeder && php-fpm" \ No newline at end of file