public function get(array $languageIds)
{
$i18nPaths = $this->aimeos->get()->getI18nPaths();
foreach ($languageIds as $langid) {
if (!isset($this->i18n[$langid])) {
$i18n = new \Aimeos\MW\Translation\Gettext($i18nPaths, $langid);
if (function_exists('apc_store') === true && $this->config->get('shop.apc_enabled', false) == true) {
$i18n = new \Aimeos\MW\Translation\Decorator\APC($i18n, $this->config->get('shop.apc_prefix', 'laravel:'));
}
if ($this->config->has('shop.i18n.' . $langid)) {
$i18n = new \Aimeos\MW\Translation\Decorator\Memory($i18n, $this->config->get('shop.i18n.' . $langid));
}
$this->i18n[$langid] = $i18n;
}
}
return $this->i18n;
}
/** * Returns the current context * * @param boolean $locale True to add locale object to context, false if not (deprecated, use \Aimeos\Shop\Base\Locale) * @param string $type Configuration type, i.e. "frontend" or "backend" (deprecated, use \Aimeos\Shop\Base\Config) * @return \Aimeos\MShop\Context\Item\Iface Context object */ public function get($locale = true, $type = 'frontend') { $config = $this->config->get($type); if ($this->context === null) { $context = new \Aimeos\MShop\Context\Item\Standard(); $context->setConfig($config); $this->addDataBaseManager($context); $this->addFilesystemManager($context); $this->addMessageQueueManager($context); $this->addLogger($context); $this->addCache($context); $this->addMailer($context); $this->addSession($context); $this->addUser($context); $this->addGroups($context); $this->context = $context; } $this->context->setConfig($config); if ($locale === true) { $localeItem = $this->locale->get($this->context); $this->context->setLocale($localeItem); $this->context->setI18n($this->i18n->get(array($localeItem->getLanguageId()))); } return $this->context; }