У меня следующая проблема.У меня 2 сайта (немецкий и австрийский).На сайтах есть магазины (немецкий магазин и австрийский магазин).Каждый магазин имеет 2 вида магазина (German-DE
, German-EN
, Austria-DE
, Austria-EN
).Немецкий магазин и его вид магазина German-DE
- это вид магазина по умолчанию.
Теперь к проблеме.Вообще мне нужны следующие переводы: Germany-DE - Germany language
;Germany-EN - English language
;Austria-DE - Germany language
;Austria-EN - English language
;
В административной панели я установил настройки для локали (Stores > Configuration > General >
): все представления магазина английского языка имеют en_US
локаль, а все представления магазина языков Германии имеют de_DE
локаль.
http://joxi.ru/L21PjnVT8nvPJm
Но в магазине в Германии все представления магазина имеют правильный перевод, но в Австрии перевод не работает ... Как правило, в магазине Австрии есть представление магазина по умолчанию Austria-EN
, и все представления магазина имеют перевод на английский,Когда я переключаю представление магазина по умолчанию на Austria-DE, все представления магазина Австрии будут переведены на немецкий.Я пытаюсь получить локаль на внешнем интерфейсе в каком-то контроллере, используя Magento\Framework\Translate
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $resultPageFactory,
\Magento\Framework\Translate $translate
)
{
$this->resultPageFactory = $resultPageFactory;
$this->translate = $translate;
parent::__construct($context);
}
public function execute()
{
var_dump($this->translate->getLocale());
die;
return $this->resultPageFactory->create();
}
, а в Austria-DE я получаю en_US
, когда в локали этого магазина установлено представление de_DE
.Пожалуйста, помогите мне разобраться в чем проблема.