1

我正在使用 Phalcon 和他的能力,通过他的 Class Translate 使翻译变得更容易。到目前为止,我正在将 t 变量从索引传递到所有视图,就在我设置 volt 时,就像这样:

 $view = new View();
 $view->setViewsDir(WEBSITE_PATH.'/views/');
// Return a translation object
      $view->t = new Phalcon\Translate\Adapter\NativeArray([
        "content" => $localization
      ]);

这是有效的,但我也有页面要从文件夹视图之外翻译,在 .php 中,而不是在 .volt 中。如何将此变量“t”共享/设置/传递到其他地方?

4

1 回答 1

1

您可以在依赖注入器中注册翻译,例如

$di->setShared('translations', function() use($di) {

    // Include or set your translations here, must be an array
    $translations = ['Phalcon' => 'Falcon', 'Word' => 'Translation'];

    return new \Phalcon\Translate\Adapter\NativeArray(array(
        'content' => $translations
    ));

});

然后你可以在任何控制器中调用翻译,比如

$this->translations->_('Phalcon')

在像这样的观点中

<?=$this->translations->_('Word') ?>

进一步阅读:https ://docs.phalconphp.com/en/latest/reference/translate.html

于 2016-04-26T07:31:16.190 回答