小胡子,巴贝尔和gettext

时间:2012-07-26 14:00:42

标签: flask jinja2 mustache babel

我正在使用Flask,jinja和Mustachjs。

为了完成工作,我使用的是{%raw%}标记。

现在,它是一个多语言应用程序,我使用Babel。

我该怎么做:

 {% raw %}
  <script id="details" type="text/template">

        <table class="table" >

        <thead>
        <tr>
                <th>**{{gettext('col1')}}</th>
                <th>**{{gettext('col2')}}</th>
                <th>**{{gettext('col6')}}</th> 

        </tr>
        </thead>
        <tbody>
        {{#skyrsla}}
                <tr>
                        <td> {{index}}</td>
                        <td> {{nafn}}</td>
                        <td> {{mean_growth_index}}</td>
                </tr>
        {{/skyrsla}}
        </tbody>

        </table>
</script>
{% endraw %}

由于它位于原始代码之间,因此Babel扩展名无法检测到{{gettext(&#39; col1&#39;)} 有没有办法改变巴别塔的配置。

我的实际配置如下:

[python: **.py]
[jinja2: **/templates/**.html]
extensions=jinja2.ext.autoescape,jinja2.ext.with_

1 个答案:

答案 0 :(得分:3)

只需在调用gettext

之间结束原始块
{% raw %}
  <script id="details" type="text/template">

        <table class="table" >

        <thead>
        <tr>
                <th>**{% endraw %}{{gettext('col1')}}{% raw %}</th>
                <th>**{% endraw %}{{gettext('col2')}}{% raw %}</th>
                <th>**{% endraw %}{{gettext('col6')}}{% raw %}</th> 

        </tr>
        </thead>
        <tbody>
        {{#skyrsla}}
                <tr>
                        <td> {{index}}</td>
                        <td> {{nafn}}</td>
                        <td> {{mean_growth_index}}</td>
                </tr>
        {{/skyrsla}}
        </tbody>

        </table>
</script>
{% endraw %}