【问题标题】:Using a Twig Extension使用树枝扩展
【发布时间】:2012-09-05 14:27:45
【问题描述】:

我正在尝试使用 Twig i18n 扩展。

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

https://github.com/fabpot/Twig-extensions/blob/master/lib/Twig/Extensions/Extension/I18n.php

现在我不太确定该文件的保存位置

我在一个名为 includes/lib (/includes/lib/Twig) 的文件夹中有 Twig。我在 Twig 下看到了一个文件夹扩展。我要保存在这里吗?

保存后,我需要对文件执行“require_once”还是 Twig_Autoloader 会为我完成这项工作?

我没有使用 Symfony2

谢谢 克雷格

【问题讨论】:

  • 我只需要朝着正确的方向前进。
  • 我担心这不会得到答案。解决方案可能很简单,但我不明白。如果有人能把我推向正确的方向,那就太好了。

标签: twig template-engine


【解决方案1】:

这是对我有用的完整答案:

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

    // 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");
    
  4. 注册 Twig 扩展

    $twig->addExtension(new Twig_Extensions_Extension_I18n());
    
  5. 创建目录 locale/de_DE/LC_MESSAGES

  6. 创建 PO 文件(最简单的方法是从一个示例文件开始)
  7. 在普通文本编辑器中打开文件(确保使用 utf-8 编码)并开始翻译
  8. 用 PoEdit 打开 PO-Datei (www.poedit.net/)
  9. 保存到 locale/de_DE/LC_MESSAGES(将创建一个 MO-Datei)。
  10. 使用

    将翻译添加到 Twig-Template 中的适当位置
    {% trans 'Text in the original language' %}`
    

【讨论】:

    【解决方案2】:

    你需要用 Twig 注册这个扩展:

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

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

    【讨论】:

    • 感谢您回答了我的部分问题。另一部分是保存扩展的位置。经过一番反复试验,我发现保存扩展名的地方在扩展名中。在这种情况下,Twig_Extension_Extension_I18n 位于主 Twig 安装 Extension/Extension/I18n 下的目录中。如果需要其他stuff,您会在收到的错误中发现。
    【解决方案3】:

    似乎在没有 Composer 的情况下安装这些扩展的“正确”方法如下:

    1. https://github.com/fabpot/Twig-extensions/releases 下载一个版本
    2. lib/目录的内容复制到你的项目中
    3. 包含文件.../Twig/Extensions/Autoloader.php
    4. 注册自动装载机:Twig_Extensions_Autoloader::register();
    5. 按照文档中的说明继续:http://twig.sensiolabs.org/doc/extensions/i18n.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 1970-01-01
      相关资源
      最近更新 更多