Извлечение строк шаблона для i18n из Twig в Slim

Я трачу довольно много времени, пытаясь понять, как «скомпилировать» все мои шаблоны Twig в приложении на основе Slim, чтобы убедиться, что все строки готовы к тому, чтобы xgettext взял их для дальнейшей обработки и перевода.

Это оказалось довольно просто, как только я собрал нужную информацию, но я не смог найти в Интернете ни одного места, где бы мне рассказывали, как именно это сделать с помощью Twig в приложении Slim.


person decibyte    schedule 13.03.2014    source источник


Ответы (1)


В документации Twig есть прекрасный пример извлечения строк шаблона. Однако, прежде чем вы сможете это сделать, вам нужно извлечь среду Twig из вашего приложения Slim, как описано в базе знаний Slim.

Итак, вот модифицированная версия примера из документации Twig:

// Specify where your templates are located.
$tplDir = '/path/to/your/templates';

// Get the Twig environment from your Slim app, $app.
$twig = $app->view()->getEnvironment();

// Iterate over all your templates.
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($tplDir), RecursiveIteratorIterator::LEAVES_ONLY) as $file)
{
    // Force compilation.
    if ($file->isFile()) {
        $twig->loadTemplate(str_replace($tplDir.'/', '', $file));
    }
}
person decibyte    schedule 13.03.2014