从另一家商店获取翻译
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
变量中,您将得到源代码中的短语作为键,字符串翻译作为值。
希望能解决您的问题。
我正在尝试以编程方式从管理员发送自定义电子邮件,我需要在发送电子邮件之前添加一些字符串。我想根据所选语言翻译这些字符串。我使用了下面的代码但是它不起作用,字符串仍然是英文的。
$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
变量中,您将得到源代码中的短语作为键,字符串翻译作为值。
希望能解决您的问题。