如何正确处理翻译文件中的函数? (PHP 个模板)

How to correctly handle functions in the translation files? (PHP templates)

我在手册中搜索过此内容,但一无所获。 例如,我有这个观点:

//view.html.php
<?php $view->extend('::base.html.php') ?>
<?php $view['slots']->start('real-content') ?>

<?php echo $view['translator']->trans('user.name') ?>

<?php $view['slots']->stop('real-content') ?>

如何在翻译文件中插入函数 getUsername() 以便正确呈现? 这是最好的方法吗?

//messages.en.php
'user.name' => 'Name: %user->getUsername()%'

trans函数,当找到一个匹配的key时,returns一个key对应的value。

例子

//message.tr.php
'username' => 'Kullanıcı adı'

//message.en.php
'username' => 'User name'

使用

<?php echo $view['translator']->trans('username') ?>

输出

Kullanıcı adı

静态文本的用途

您应该将 user.name("label")的翻译与返回名称值的函数的实际调用分开:

view.html.php

<?php $view->extend('::base.html.php') ?>
<?php $view['slots']->start('real-content') ?>

<?php echo $view['translator']->trans('user.name') . $user->getName(); ?>

<?php $view['slots']->stop('real-content') ?>

messages.en.php

'user.name' => 'Name: '