我花了相当多的时间试图弄清楚如何在一个基于Slim的应用程序中“编译”我的所有细枝模板,以确保所有字符串都已准备好由xgettext
拾取以进行进一步的处理和翻译。
一旦我有了正确的信息片段,这就变得很容易了,但是我在互联网上找不到任何地方告诉我如何在一个苗条的应用程序中使用树枝来做到这一点。
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));
}
}