TYPO3 - PHP 扩展中的 ViewHelper 中的流体翻译
TYPO3 - Fluid Translate in PHP ViewHelper within extension
使用 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 视图助手
中时,关于如何执行此操作的任何想法
查看 TranslateViewHelper 内部并了解他们是如何做到的(很可能是 translate(...)
方法),并使用代码从您的 XLFF 文件呈现您自己的标签
\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate($key, $extensionName)
您实际要查找的是“%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
使用 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 视图助手
中时,关于如何执行此操作的任何想法查看 TranslateViewHelper 内部并了解他们是如何做到的(很可能是 translate(...)
方法),并使用代码从您的 XLFF 文件呈现您自己的标签
\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate($key, $extensionName)
您实际要查找的是“%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