【发布时间】:2019-08-11 00:26:52
【问题描述】:
我最近发现可以将参数传递给流式翻译
<f:translate key="something.test" arguments="{0: 'something'}" />
或在 PHP 中
\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('something.test', $extKey, $arguments);
对于后者,我意识到我不明白它究竟是如何工作的,而且我找不到这些论点的文档。我在尝试传递多个参数时遇到了困难。
带有参数的翻译如下所示:
<trans-unit id="something.test">
<source>this is the argument: %1$s</source>
</trans-unit>
我不明白为什么占位符的格式如下:%1$s? 数字“1”是否与参数的索引有任何关系?如果是的话,如果我用key 0传递参数,为什么它以1开头?
我知道可以通过传递数组来传递多个参数,但我不知道如何在相应的位置放置正确的占位符。
我想做的是:
Controller:
$arguments = array('something1', 'something2', 'something3');
\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('something.test', $extKey, $arguments);
locallang.xlf:
<trans-unit id="something.test">
<source>Test: [placeholder for something1] [placeholder for something2] [placeholder for something3]</source>
</trans-unit>
有人可以向我解释这是如何工作的吗?提前感谢:-)
【问题讨论】:
标签: typo3 typo3-8.x typo3-extensions typo3-8.7.x