从另一家商店获取翻译

Get translation from another store

我正在尝试以编程方式从管理员发送自定义电子邮件,我需要在发送电子邮件之前添加一些字符串。我想根据所选语言翻译这些字符串。我使用了下面的代码但是它不起作用,字符串仍然是英文的。

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

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

echo __('Some string');

谢谢!

您可以使用 \Magento\Framework\App\Language\Dictionary class 的 getDictionary() 函数将字符串翻译成另一个语言环境,如下所述:

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变量中,您将得到源代码中的短语作为键,字符串翻译作为值。

希望能解决您的问题。