Symfony2 翻译,参数不起作用

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,参数没有被替换。我缺少什么?

谢谢!

Nan*_*com 7

问题已解决:

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)

愚蠢的错误...