加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Twigjs和动态翻译

发布时间:2020-12-13 22:33:22 所属栏目:PHP教程 来源:网络整理
导读:我遇到了一个问题,我使用Symfony2 twigjs和assetic动态渲染我的一些模板. 我已经阅读了文档,源代码和测试. 在TransFilterCompilerTest.php / testCompileDynamicTranslations中它似乎是一个 {{‘foo’|在我的树枝模板中转换}} 将在twigjs模板中替换 ‘this.e
我遇到了一个问题,我使用Symfony2 twigjs和assetic动态渲染我的一些模板.

我已经阅读了文档,源代码和测试.

在TransFilterCompilerTest.php / testCompileDynamicTranslations中它似乎是一个

{{‘foo’|在我的树枝模板中转换}}

将在twigjs模板中替换

‘this.env_.filter(“trans”,’…在我的twigjs中

但在我编译的js中我只有sb.append(twig.filter.escape(this.env_,“posted”,“html”,null,true));

你知道为什么吗?

谢谢!

解决方法

经过一番调查后,我发现虽然几个月前在JMSTwigJsBundle中添加了翻译编译过滤器,但最近才向Assetic添加了所需的功能.使用已发布的库版本将无法正常工作.目前,必须使用git的master.

使用deps文件…

[assetic]
    git=http://github.com/kriswallsmith/assetic.git

[AsseticBundle]
    git=http://github.com/symfony/AsseticBundle.git
    target=/bundles/Symfony/Bundle/AsseticBundle

必须将站点支持的语言指定为参数.我将它添加到我的config.yml文件中.

parameters:
    assetic.variables:
        locale: ['en','fr']

最后,文件集必须表明它根据语言环境而变化.

{% javascripts vars=["locale"]
    '@AcmeBundle/Resources/views/Default/some_template.html.twig'
    filter="twig_js"
%}

以下是完整性的示例模板:

{% twig_js name="some_template" %}
<b>{{'test.say.hello' | trans({"%name%": name|default("World")})}}</b>

还必须在模板定义之前加载twig.js引导程序文件.调用模板符合预期:

Twig.render(some_template,{name: 'CoBaLt2760'})

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读