2016-12-01 4 views
1

나뭇 가지 템플릿 안에 콧수염 모양의 틀이 있습니다. 자바 스크립트에서 콧수염 템플릿을 사용하고 일부 텍스트 및 JS 변수가 포함되어 있습니다.나뭇 가지 내부의 콧수염 내부에서 나뭇 가지 번역 사용

{# _partial.html.twig #} 
{% verbatim %} 
    <script id="insuranceOptionTpl" type="text/template"> 
     {{ #. }} 
      <strong>My template is {{ adjective }}</strong> 
     {{ /. }} 
    </script> 
{% endverbatim %} 

이제이 페이지를 국제화해야하지만 나뭇 가지 번역은 축 어적으로 작동하지 않습니다. 거기에 우아한 방법이 있습니까? 번역 할 텍스트가 많기 때문에 항상 새로운 구두 블록을 끝내고 시작하는 것이 이상적이지는 않습니다. 완전 일치 블록을 제거함으로써 및, 콧수염의 것보다 differents의 수 나뭇 가지 구분 기호를 사용자 정의 (in Twig doc을 설명) [[ 예를 들면 ]]에 의해 {{}}을 교체하여

답변

2

, 동일한에서 나뭇 가지와 콧수염을 사용할 수 있습니다 템플릿 : 템플릿의 대부분이 나뭇 가지에 이미있는 것처럼

$twig = new Twig_Environment(); 

$lexer = new Twig_Lexer($twig, array(
    'tag_comment' => array('{#', '#}'), 
    'tag_block'  => array('{%', '%}'), 
    'tag_variable' => array('[[', ']]'), 
    'interpolation' => array('#{', '}'), 
)); 
$twig->setLexer($lexer); 

, 당신은 대신 콧수염의 구분 기호를 변경할 수 있습니다 물론

$(document).ready(function() { 
    var output = $("#output");  
    var template = $("#insuranceOptionTpl").html(); 

    //Custom tags for Mustache 
    var customTags = [ '[[', ']]' ]; 
    Mustache.tags = customTags; 

    // render string 
    var data1 = "Hello world!"; 
    var html = Mustache.render(template, data1); 
    output.append(html); 
}); 
+0

오! JS 번역을 사용하려고 생각했지만 정말 우아하지 않습니다. 나는 나뭇 가지가 너무 많고 콧수염이 몇 개 있습니다. 콧수염 구분 기호를 변경할 수 있습니까? – ecc