使用PHP 8.7.17
我有以下viewhelper来举例说明我需要的内容
<?php namespace SRS\SrsPccLog\ViewHelpers;
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
class ShowDateAsStringViewHelper extends AbstractViewHelper
{
public function initializeArguments()
{
$this->registerArgument('month', 'integer', 'month value', true);
}
public function render()
{
$month = $this->arguments['month'];
return $this->monthAsString($month, $year);
}
public function monthAsString ($month) {
switch ($month) {
case 1:
return "January";
case 2:
return "February";
case 3:
return "March";
case 4:
return "April";
case 5:
return "May";
default:
return "";
}
}
我具有该功能,但我只想用本国语言显示月份,即替换return "January'
与<f:translate key="tx_srspcclog_domain_model_myext.january" />
以便我可以减少语言的特定性,并像从前一样,从语言文件中获取语言。当您不在流畅的视图中而是在PHP视图帮助器中时,如何执行此操作的任何想法
答案 0 :(得分:0)
查看TranslateViewHelper并查看其操作方式(很可能是translate(...)
方法),然后使用代码从XLFF文件中呈现自己的标签
答案 1 :(得分:0)
\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate($key, $extensionName)
答案 2 :(得分:0)
您实际要查找的是“%B”。
正如文档中明确指出的那样,FormatDate ViewHelper可以理解strftime()和date()格式的格式字符串。 strftime已经内置了本地化功能。您无需自己翻译任何内容。
https://docs.typo3.org/typo3cms/ExtbaseGuide/Fluid/ViewHelper/Format/Date.html#localized-time-using-strftime-syntax http://php.net/manual/de/function.strftime.php