带有 extbase 的 Typo3 - 获取特定语言的翻译

Typo3 with extbase - get translation for specific language

我写了一个后端挂钩,这样我就可以在 typo3 中将项目设置为 hidden = 0 时立即发送通知电子邮件。我设法访问 LocalizationUtility 以访问我的翻译文件,如下所示:

$localization = $objectManager->get('\TYPO3\CMS\Extbase\Utility\LocalizationUtility');
$localization::translate('tx_extplugin_domain_model_item.email.text1', 'ExtPlugin')

但是我该如何定义要使用的语言呢?翻译功能似乎没有语言参数,那么我如何获得不同语言的文本呢?

提前致谢!

您不能以这种方式使用 Typo3 翻译 - Typo3 将始终翻译到当前 语言范围。

根据 this answer 我认为你唯一能做到的方法是将你的翻译保存在 Typo3 之外(在一个数组或类似的数组中),然后进行你自己的翻译,而不是使用内置的 Typo3在一个。

您可以使用 readLLfile 方法通过 languagekey 获取特定的翻译。这将 return $file 中所有已翻译字符串的数组。

$fd = GeneralUtility::readLLfile($file, $langKey);