从其他商店获取翻译

时间:2019-06-03 15:05:09

标签: php magento2 programmatically

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

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

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

echo __('Some string');

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用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变量中,您将在源代码中将短语作为键,并将字符串转换作为值。

我希望它可以解决您的问题。