/** * Refreshs the cache item containing the JSON encoded * messages object. * Fires the 'JsLocalization.refresh' event. * * @return void */ public function refreshMessageCache() { JsLocalizationHelper::triggerRegisterMessages(); $locales = $this->getLocales(); $messageKeys = $this->getMessageKeys(); $translatedMessages = $this->getTranslatedMessagesForLocales($messageKeys, $locales); Cache::forever(self::CACHE_KEY, json_encode($translatedMessages)); Cache::forever(self::CACHE_TIMESTAMP_KEY, time()); }
public function testEventBasedAdding() { $additionalMessageKeys = $this->additionalMessageKeys; Event::listen('JsLocalization.registerMessages', function () use($additionalMessageKeys) { JsLocalizationHelper::addMessagesToExport($additionalMessageKeys); }); $this->assertEquals(array(), JsLocalizationHelper::getAdditionalMessages()); JsLocalizationHelper::triggerRegisterMessages(); $this->assertEquals($this->additionalMessageKeysFlat, JsLocalizationHelper::getAdditionalMessages()); $this->addTestMessage('en', 'another', 'Another test text.'); Event::listen('JsLocalization.registerMessages', function () { JsLocalizationHelper::addMessagesToExport(array('another')); }); JsLocalizationHelper::triggerRegisterMessages(); $this->assertEquals(array_merge($this->additionalMessageKeysFlat, array('another')), JsLocalizationHelper::getAdditionalMessages()); }