Получить перевод из другого магазина - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь программно отправить пользовательское электронное письмо от администратора, и мне нужно добавить несколько строк перед отправкой электронного письма. Я хотел бы перевести эти строки на основе выбранного языка. Я использовал приведенный ниже код, но он не работает, строка остается на английском языке.

$localeInterface = $objectManager- 
>create('Magento\Framework\Locale\ResolverInterface');

$localeInterface->setLocale('de_DE');
$localeInterface->setDefaultLocale('de_DE');

echo __('Some string');

Спасибо!

1 Ответ

0 голосов
/ 04 июня 2019

Вы можете перевести строку в другую локаль, используя функцию getDictionary() класса \Magento\Framework\App\Language\Dictionary, как описано ниже:

protected $_dictionary;

public function __construct(
    ...
    \Magento\Framework\App\Language\Dictionary $dictionary,
    ...
) {
    ...
    $this->_dictionary = $dictionary;
    ...
}

public function execute() {
    ...
    $arrString = $this->_dictionary->getDictionary('de_DE')['Some String'];
    ...
}

В переменной $arrString вы получите фразу в исходном коде в видеключ и перевод строки в качестве значения.

Я надеюсь, что это может решить вашу проблему.

...