2012-09-05 62 views
2

我想用枝条枝干i18n延长。使用枝条延伸

至于我可以告诉我需要的文件是在这里:

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

现在我不太肯定这个文件

我有嫩枝保存一个名为文件夹中包含/ lib(/ includes/lib/Twig)。我在Twig下看到一个文件夹Extension。我在这里保存吗?

后,我保存它,做我需要做一个“require_once”文件或将Twig_Autoloader做的工作给我吗?

我不使用Symfony2的

感谢 克雷格

+0

我只需要在正确的方向上凸起。 – cw24

+0

我担心这不会得到答案。解决方案可能很容易,我不明白。如果有人能把我推向正确的方向,那还是不错的。 – cw24

回答

4

这里是为我工作的完整的答案:

  1. 复制的嫩枝,Verzeichnis文件(摘录i18n.zip在嫩枝)。 对于扩展的I18n这将是细枝/扩展/扩展/ I18n.php
  2. 最终通过添加的I18n requred其他文件。你会看到这些错误消息来了。我不得不添加“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->addExtension(new Twig_Extensions_Extension_I18n()); 
    
  5. 创建目录的语言环境/ de_DE这个/ LC_MESSAGES

  6. 创建PO文件( easisest是有一个样本文件以从启动)
  7. 打开文件在一个普通的文本编itor(一定要使用UTF-8编码),并开始翻译
  8. 打开PO-Datei与PoEdit软件(www.poedit.net/)
  9. 保存到区域设置/ de_DE这个/ LC_MESSAGES(一个MO-Datei将被创建)。
  10. 翻译添加到树枝,模板合适的地方与

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

您需要注册这个扩展与嫩枝:

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

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

+0

谢谢你回答我的问题的一部分。另一部分是保存扩展名的地方。经过一些试验和错误之后,我发现保存扩展名的地方在扩展名中。在这种情况下,Twig_Extension_Extension_I18n进入主Twig安装Extension/Extension/I18n下的目录。如果需要其他*东西*,你会发现你得到的错误。 – cw24