title('Import Locales'); $localesBase = $this->environment->getBaseDirectory() . '/translations'; $supportedLocales = SupportedLocales::cases(); $defaultLocale = SupportedLocales::default(); $poLoader = new PoLoader(); $moGenerator = new MoGenerator(); foreach ($supportedLocales as $supportedLocale) { if ($supportedLocale === $defaultLocale) { continue; } $localeFolder = $localesBase . '/' . $supportedLocale->value . '/LC_MESSAGES'; $localeSource = $localeFolder . '/default.po'; $localeDest = $localeFolder . '/default.mo'; if (is_file($localeSource)) { $translations = $poLoader->loadFile($localeSource); $moGenerator->generateFile($translations, $localeDest); $io->writeln( sprintf( __('Imported locale: %s'), $supportedLocale->value . ' (' . $supportedLocale->getLocalName() . ')' ) ); } } $io->success('Locales imported.'); return 0; } }