Twig - 在选择选项中添加翻译

3

我在Twig表单自定义方面遇到了问题。

我的问题是在选择值的选项中添加翻译,例如{{ 'years'|trans }}。我可以通过调用翻译器在FormType代码中设置它,但这并不容易,应该在Twig中完成,因为那里是呈现的地方。 我无法让以下内容正常工作:

{{ numberYears ~ ' ' ~ 'years'|trans ~ ' -' ~ cost * numberYears ~ 'credits'|trans }}

如果有人能够帮忙,我将不胜感激!
【编辑】
事实上,我的问题描述得不清楚,所以我重新阐述如下:
在我的FormType中,我有以下代码,其中我想翻译年份、年和学分。我认为可以通过调用翻译器在FormType中完成,但我认为最好将选择数组设置为关联数组 array($cost, $year),然后根据键、值在twig中构建标签,但我找不到要覆盖的块。
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $userCredits = 15;
    $cost = 5;

    $yearsMax = min(3, (int) floor($userCredits / $cost));
    $selectYears = array();
    for ($i = 1; $i <= $yearsMax; $i++) {
        $years = $i == 1 ? ' year' : ' years';
        $value = $i . $years . ' -' . $cost * $i . ' credits';
        $selectYears[$value] = $i;
    }
    $builder
        ->add('renewalYear', ChoiceType::class, array(
            'label' => 'text.renew_for',
            'required' => true,
            'choices'  => $selectYears
            ))
    ;
}
2个回答

1

0

尝试用括号将其括起来:

{{ numberYears ~ ' ' ~ ('years'|trans) ~ ' -' ~ cost * numberYears ~ ('credits'|trans) }}

希望这可以帮到你


谢谢建议,不过事实上我的问题表述不够清晰...我已经重新组织了一下。 - Laurent

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接