Nan*_*com 3 datetime translation symfony
我的 Symfony2 翻译器有问题。
我有一个 DateTimeFormatter 类(此处简化):
<?php
namespace Project\CommonBundle\Util;
use DateTime;
use Symfony\Component\Translation\TranslatorInterface;
class DateTimeFormatter
{
private $translator;
public function __construct(TranslatorInterface $translator)
{
$this->translator = $translator;
}
public function format(DateTime $datetime, array $options = array())
{
$delta = time() - $datetime->getTimestamp();
return $this->translator->trans('datetime_formatter.seconds_ago', array('%seconds%', $delta);
}
}
Run Code Online (Sandbox Code Playgroud)
带翻译文件:
datetime_formatter:
seconds_ago: %seconds% seconds ago
Run Code Online (Sandbox Code Playgroud)
我将其配置为服务:
parameters:
datetime_formatter.class: Skepin\CommonBundle\Util\DateTimeFormatter
services:
common.util.datetime_formatter:
class: %datetime_formatter.class%
arguments: [@translator]
Run Code Online (Sandbox Code Playgroud)
问题是:当我使用它时,显示的文本是%seconds% seconds ago,参数没有被替换。我缺少什么?
谢谢!
问题已解决:
return $this->translator->trans('datetime_formatter.seconds_ago', array('%seconds%' => $delta);
Run Code Online (Sandbox Code Playgroud)
代替:
return $this->translator->trans('datetime_formatter.seconds_ago', array('%seconds%', $delta);
Run Code Online (Sandbox Code Playgroud)
愚蠢的错误...
| 归档时间: |
|
| 查看次数: |
7402 次 |
| 最近记录: |