/** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * @since 3.2.0 */ public function register(Container $container) { $container->alias(CompilerLanguage::class, 'Language') ->share('Language', [$this, 'getLanguage'], true); $container->alias(Extractor::class, 'Language.Extractor') ->share('Language.Extractor', [$this, 'getLanguageExtractor'], true); } /** * Get the Compiler Language * * @param Container $container The DI container. * * @return CompilerLanguage * @since 3.2.0 */ public function getLanguage(Container $container): CompilerLanguage { return new CompilerLanguage( $container->get('Config') ); } /** * Get the Compiler Language Extractor * * @param Container $container The DI container. * * @return Extractor * @since 3.2.0 */ public function getLanguageExtractor(Container $container): Extractor { return new Extractor( $container->get('Config'), $container->get('Language'), $container->get('Placeholder') ); }