title('Generate Locales'); $exportDir = $environment->getBaseDirectory() . '/resources/locale'; $dest_file = $exportDir . '/default.pot'; $frontendFile = $exportDir . '/frontend.pot'; $translations = new Translations(); if (file_exists($frontendFile)) { $translations->addFromPoFile($frontendFile); } // Find all PHP/PHTML files in the application's code. $translatable_folders = [ $environment->getBaseDirectory() . '/src', $environment->getBaseDirectory() . '/config', $environment->getViewsDirectory(), ]; foreach ($translatable_folders as $folder) { $directory = new RecursiveDirectoryIterator($folder); $iterator = new RecursiveIteratorIterator($directory); $regex = new RegexIterator($iterator, '/^.+\.(phtml|php)$/i', RecursiveRegexIterator::GET_MATCH); foreach ($regex as $path_match) { $path = $path_match[0]; $translations->addFromPhpCodeFile($path); } } $translations->toPoFile($dest_file); @unlink($frontendFile); $io->success('Locales generated.'); return 0; } }