/** * @param GetResponseEvent $event */ public function onLateKernelRequest(GetResponseEvent $event) { if (HttpKernelInterface::MASTER_REQUEST !== $event->getRequestType() or !in_array($this->kernel->getEnvironment(), array('admin', 'admin_dev'))) { return; } $this->translationListener->setTranslatableLocale($this->context->getDefaultFrontLocale()); }
/** * @param GetResponseEvent $event */ public function onLateKernelRequest(GetResponseEvent $event) { $request = $event->getRequest(); $locale = $this->context->get('language'); $request->setLocale($locale); $this->translationListener->setTranslatableLocale($locale); }
/** * @param HttpRequest $request * @param string $locale */ public function setLocale(HttpRequest $request, $locale) { setlocale(LC_ALL, $locale); $locale = substr($locale, 0, 2); $request->setLocale($locale); $this->translator->setLocale($locale); $this->translatable->setTranslatableLocale($locale); }
public function onLateKernelRequest(GetResponseEvent $event) { $site = $this->siteSelector->retrieve(); if ($site) { $this->translatableListener->setTranslatableLocale($site->getLocale()); $this->translatableListener->setFallbackLocales($site->getLocales()); } }
/** * @param GetResponseEvent $event */ public function onKernelRequest(GetResponseEvent $event) { $request = $event->getRequest(); $locale = str_replace('-', '_', $request->query->get('locale')); if ($locale && $this->isApiRequest($request)) { $request->setLocale($locale); $this->translatableListener->setTranslatableLocale($locale); } }
/** * @test */ public function testQueryWalker() { $dql = 'SELECT f FROM ' . self::FIXTURE . ' f'; $q = $this->em->createQuery($dql); $q->setHint(Query::HINT_CUSTOM_OUTPUT_WALKER, self::TREE_WALKER_TRANSLATION); $this->translatableListener->setTranslatableLocale('de'); $result = $q->getArrayResult(); $this->assertCount(1, $result); $this->assertSame('test-de', $result[0]['title']); $this->assertSame('website-de', $result[0]['link.website']); $this->assertSame('facebook-de', $result[0]['link.facebook']); }
/** * {@inheritdoc} */ protected function configureFormFields(FormMapper $formMapper) { $block = $this->getSubject(); if ($block->getId() === null) { // new block $service = $this->blockManager->getService($this->request->get('type')); $block->setName($service->getName()); } $this->translatableListener->setTranslatableLocale($block->getSite()->getDefaultLocale()); $this->translatableListener->setFallbackLocales($block->getSite()->getLocales()); return parent::configureFormFields($formMapper); }
/** * @param EventManager $manager * @param EntityManagerInterface $em * @param Reader $reader */ public function addSubscribers(EventManager $manager, EntityManagerInterface $em, Reader $reader = null) { $subscriber = new TranslatableListener(); $subscriber->setTranslatableLocale($this->application->getLocale()); $subscriber->setDefaultLocale($this->repository->get('app.locale')); $this->addSubscriber($subscriber, $manager, $reader); }
/** * {@inheritdoc} */ public function boot(Application $app) { if (!isset($app['db.event_manager'])) { throw new FatalErrorException('The DoctrineServiceProvider is not registered in this application'); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_SLUGGABLE') === true) { $listener = new SluggableListener(); $app['db.event_manager']->addEventSubscriber($listener); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_TREE') === true) { $listener = new TreeListener(); $app['db.event_manager']->addEventSubscriber($listener); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_LOGGABLE') === true) { $listener = new LoggableListener(); $app['db.event_manager']->addEventSubscriber($listener); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_TIMESTAMPABLE') === true) { $listener = new TimestampableListener(); $app['db.event_manager']->addEventSubscriber($listener); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_TRANSLATABLE') === true) { $listener = new TranslatableListener(); if (!isset($app['translator'])) { throw new FatalErrorException('The TranslationServiceProvider is not registered in this application'); } $listener->setTranslatableLocale($app['translator']->getLocale()); $listener->setDefaultLocale($app['translator']->getLocale()); $app['db.event_manager']->addEventSubscriber($listener); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_SORTABLE') === true) { $listener = new SortableListener(); $app['db.event_manager']->addEventSubscriber($listener); } }
public function create() { $listener = new TranslatableListener(); $listener->setDefaultLocale($this->defaultLocale); $listener->setTranslatableLocale($this->locale); return $listener; }
public function register(Container $c) { $c['doctrine_extensions.translatable.listener'] = function ($c) { $listener = new TranslatableListener(); $listener->setTranslatableLocale($c['locale']); $listener->setDefaultLocale($c['locale']); $listener->setAnnotationReader($c['annotation.reader']); return $listener; }; }
protected function setUp() { parent::setUp(); $evm = new EventManager(); $translatableListener = new TranslatableListener(); $translatableListener->setTranslatableLocale('en_US'); $evm->addEventSubscriber($translatableListener); $evm->addEventSubscriber(new TimestampableListener()); $this->getMockSqliteEntityManager($evm); }
protected function setUp() { parent::setUp(); $evm = new EventManager(); $translatableListener = new TranslatableListener(); $translatableListener->setTranslatableLocale('en_US'); $evm->addEventSubscriber($translatableListener); $blameableListener = new BlameableListener(); $blameableListener->setUserValue('testuser'); $evm->addEventSubscriber($blameableListener); $this->getMockSqliteEntityManager($evm); }
/** * @param ConsoleCommandEvent $event */ public function onConsoleCommand(ConsoleCommandEvent $event) { $isForced = $event->getInput()->hasParameterOption('--force'); if ($isForced) { $this->isInstalled = false; return; } if ($this->isInstalled) { try { $locale = $this->localeSettings->getLocale(); $language = $this->localeSettings->getLanguage(); } catch (DBALException $exception) { // application is not installed return; } $this->setPhpDefaultLocale($locale); $this->translatableListener->setTranslatableLocale($language); } }
private function populate() { $repo = $this->em->getRepository(self::ARTICLE); $commentRepo = $this->em->getRepository(self::COMMENT); $food = new Article(); $food->setTitle('Food'); $food->setContent('about food'); $food->setAuthor('John Doe'); $food->setViews(99); $goodFood = new Comment(); $goodFood->setArticle($food); $goodFood->setMessage('food is good'); $goodFood->setSubject('good'); $badFood = new Comment(); $badFood->setArticle($food); $badFood->setMessage('food is bad'); $badFood->setSubject('bad'); $this->em->persist($food); $this->em->persist($goodFood); $this->em->persist($badFood); $this->em->flush(); $this->em->clear(); $this->translatableListener->setTranslatableLocale('lt_lt'); $food = $repo->find(1); $food->setTitle('Maistas'); $food->setContent('apie maista'); $food->setViews(999); $goodFood = $commentRepo->find(1); $goodFood->setArticle($food); $goodFood->setMessage('maistas yra geras'); $goodFood->setSubject('geras'); $badFood = $commentRepo->find(2); $badFood->setArticle($food); $badFood->setMessage('maistas yra blogas'); $badFood->setSubject('blogas'); $this->em->persist($food); $this->em->persist($goodFood); $this->em->persist($badFood); $this->em->flush(); $this->em->clear(); }
/** * @param string $locale */ public function setTranslatableLocale($locale = 'en_US') { $this->translatableListener->setTranslatableLocale($locale); }
public function onConsoleCommand() { setlocale(LC_ALL, $this->locale); $this->translator->setLocale($this->locale); $this->translatable->setTranslatableLocale(substr($this->locale, 0, 2)); }