Twig 使用细枝延伸

Twig 使用细枝延伸,twig,template-engine,Twig,Template Engine,我正在尝试使用Twig i18n扩展 据我所知,我需要的文件在这里: 现在我不太确定在哪里保存这个文件 我在一个名为includes/lib(/includes/lib/Twig)的文件夹中有一根细枝。我在细枝下看到一个文件夹扩展名。我把它保存在这里吗 保存后,我是否需要对文件执行“require_once”操作,或者Twig_Autoloader是否会为我执行此操作 我没有使用Symfony2 谢谢 Craig您需要向Twig注册此扩展: $twig->addExtension(new

我正在尝试使用Twig i18n扩展

据我所知,我需要的文件在这里:

现在我不太确定在哪里保存这个文件

我在一个名为includes/lib(/includes/lib/Twig)的文件夹中有一根细枝。我在细枝下看到一个文件夹扩展名。我把它保存在这里吗

保存后,我是否需要对文件执行“require_once”操作,或者Twig_Autoloader是否会为我执行此操作

我没有使用Symfony2

谢谢
Craig

您需要向Twig注册此扩展:

$twig->addExtension(new Twig_Extensions_Extension_I18n());

如果您的安装配置正确,自动加载程序应该执行包含文件的工作。如果没有,您可以手动包含该文件或使用进行安装。

您需要向Twig注册此扩展名:

$twig->addExtension(new Twig_Extensions_Extension_I18n());

如果您的安装配置正确,自动加载程序应该执行包含文件的工作。如果没有,您可以手动包含该文件或使用进行安装。

以下是对我有效的完整答案:

  • 在Twig Verzeichnis中复制文件(在Twig中提取i18n.zip)。 对于I18n扩展,它将是Twig/Extensions/extension/I18n.php
  • 最终添加I18n所需的其他文件。您将通过出现的错误消息看到这些是什么。我不得不添加“Twig/Extensions/Node/Trans.php”和“Twig/Extensions/TokenParser/Trans.php”
  • 在配置文件中添加以下内容:

    // Set language to German
    putenv('LC_ALL=de_DE'); 
    setlocale(LC_ALL, 'de_DE'); 
    // Specify location of translation tables
    bindtextdomain("project_de_DE", "./locale"); 
    // Choose domain 
    textdomain("projectl_de_DE");
    
  • 注册小枝扩展名

    $twig->addExtension(new Twig_Extensions_Extension_I18n());
    
  • 创建locale/de_de/LC_MESSAGES目录

  • 创建采购订单文件(easiset将从一个示例文件开始)
  • 在普通文本编辑器中打开文件(确保使用utf-8编码)并开始翻译
  • 使用PoEdit(www.PoEdit.net/)打开采购订单日期
  • 保存到区域设置/de_de/LC_消息(将创建一个MO Datei)
  • 使用将翻译添加到细枝模板中的适当位置

    {% trans 'Text in the original language' %}`
    

  • 以下是对我有效的完整答案:

  • 在Twig Verzeichnis中复制文件(在Twig中提取i18n.zip)。 对于I18n扩展,它将是Twig/Extensions/extension/I18n.php
  • 最终添加I18n所需的其他文件。您将通过出现的错误消息看到这些是什么。我不得不添加“Twig/Extensions/Node/Trans.php”和“Twig/Extensions/TokenParser/Trans.php”
  • 在配置文件中添加以下内容:

    // Set language to German
    putenv('LC_ALL=de_DE'); 
    setlocale(LC_ALL, 'de_DE'); 
    // Specify location of translation tables
    bindtextdomain("project_de_DE", "./locale"); 
    // Choose domain 
    textdomain("projectl_de_DE");
    
  • 注册小枝扩展名

    $twig->addExtension(new Twig_Extensions_Extension_I18n());
    
  • 创建locale/de_de/LC_MESSAGES目录

  • 创建采购订单文件(easiset将从一个示例文件开始)
  • 在普通文本编辑器中打开文件(确保使用utf-8编码)并开始翻译
  • 使用PoEdit(www.PoEdit.net/)打开采购订单日期
  • 保存到区域设置/de_de/LC_消息(将创建一个MO Datei)
  • 使用将翻译添加到细枝模板中的适当位置

    {% trans 'Text in the original language' %}`
    
  • 似乎在不使用Composer的情况下安装这些扩展的“正确”方法如下:

  • 从下载一个版本
  • lib/
    目录的内容复制到项目的某个位置
  • 包括文件
    ../Twig/Extensions/Autoloader.php
  • Register autoloader:
    Twig_Extensions_autoloader::Register()
  • 按照文档中的说明继续:
  • 似乎在不使用Composer的情况下安装这些扩展的“正确”方法如下:

  • 从下载一个版本
  • lib/
    目录的内容复制到项目的某个位置
  • 包括文件
    ../Twig/Extensions/Autoloader.php
  • Register autoloader:
    Twig_Extensions_autoloader::Register()
  • 按照文档中的说明继续:

  • 我只需要往正确的方向撞一下。我担心这不会得到答案。解决方法可能很简单,但我不明白。不过,如果有人能把我推到正确的方向,那就太好了。我只需要在正确的方向撞一下。我担心这不会得到答案。解决方法可能很简单,但我不明白。不过,如果有人能把我推向正确的方向,那就太好了。谢谢,这回答了我问题的一部分。另一部分是保存扩展名的位置。经过一点尝试和错误,我发现保存扩展名的位置是扩展名。在本例中,Twig_Extension_Extension_I18n位于主Twig installation Extension/Extension/I18n目录下。如果需要其他东西,你会在错误中发现。谢谢你回答了我问题的一部分。另一部分是保存扩展名的位置。经过一点尝试和错误,我发现保存扩展名的位置是扩展名。在本例中,Twig_Extension_Extension_I18n位于主Twig installation Extension/Extension/I18n目录下。如果需要其他东西,你会在错误中发现。