Since: 3.0.0
Inheritance: implements Inpsyde\MultilingualPress\Service\Container
/**
 * Bootstraps MultilingualPress.
 *
 * @since   3.0.0
 * @wp-hook plugins_loaded
 *
 * @return bool Whether or not MultilingualPress was bootstrapped successfully.
 */
function bootstrap()
{
    $container = new AddOnlyContainer();
    $container->share('multilingualpress.properties', new ImmutablePluginProperties(__FILE__));
    $multilingualpress = new MultilingualPress($container);
    $multilingualpress->register_service_provider(new CoreServiceProvider())->register_service_provider(new APIServiceProvider())->register_service_provider(new AssetServiceProvider())->register_service_provider(new DatabaseServiceProvider())->register_service_provider(new FactoryProvider())->register_service_provider(new InstallationServiceProvider())->register_service_provider(new Module\AlternativeLanguageTitleInAdminBar\ServiceProvider())->register_service_provider(new Module\CustomPostTypeSupport\ServiceProvider())->register_service_provider(new Module\Trasher\ServiceProvider())->register_service_provider(new Module\UserAdminLanguage\ServiceProvider())->register_service_provider(new SiteDuplicationServiceProvider())->register_service_provider(new Widget\WidgetServiceProvider());
    /**
     * MultilingualPress functions.
     */
    require_once __DIR__ . '/src/functions.php';
    return $multilingualpress->bootstrap();
}