2016-12-27 3 views
0

Twig 프로젝트에서 .yaml 파일의 번역을 사용합니다. 번역해야하는 텍스트는 .html.twig 파일에 있으며, 예를 들어Twig 매개 변수를 포함하는 문자열 번역

"번역을위한 텍스트에 {{매개 변수}}가 있습니다."라고 말합니다.

은 내가 예를 들어, 키워드이 전체 문자열을 대체 할 수 있다는 사실을 알고 - to_translate % 매개 변수 %의 to_translate2, 나는이

to_translate처럼 내 .yaml 파일에서 번역을 사용할 수 있습니다 : "에 대한 내 텍스트를 번역은 " to_translate2 :"번역 할 "

매개 변수가 전달됩니다. 그러나, 이렇게 많은 부분에서 문장을 어김없이 어떻게 할 수 있습니까?

답변

2

어쩌면 나는 당신의 요지를 얻지 못했지만 원하는만큼 많은 매개 변수를 추가 할 수 있습니까?

YAML 파일 : 나뭇 가지에서

my_translation_key: Hello %firstname%, %lastname%, welcome here ! 

:

YAML : 당신의 번역에 중첩 된 블록을 얻을 수 있습니다 당신이 원하는

{{ 'my_translation_key' | trans({ 
     '%firstname%': 'John', 
     '%lastname%': 'Doe' 
    }) }} 

하면, 당신은 아마 이런 식으로 뭔가를 시도 할 수있는 경우 파일 :

my_translation_key: Hello %firstname%, %lastname%, %welcome% ! 
welcome_block: welcome %where% 

나뭇 가지 :

{% set welcome = 'welcome_block' | trans({'%where%': 'here'}) %} 
{{ 'my_translation_key' | trans({ 
     '%firstname%': 'John', 
     '%lastname%': 'Doe', 
     '%welcome%': welcome 
    }) }} 
+1

고마워요! 문제는 독립형 Twig를 사용하고 일부 심포니 파트가 작동하지 않는 것일 수 있습니다. 이제 {% % var % ': var} %}와 {% endtrans %}의 번역을 사용하여 매개 변수를 전달하고 .yaml 파일에서 번역했습니다. 내 문장 % var % 감사합니다 !!! – Dimentica

+0

당신을 진심으로 환영합니다. –

1

어쩌면 당신이 시도해야합니다

{{ ('My text for translation contains a '~parameter)|trans }} 

Documentation에서 :

는 ~ : 문자열로 모든 피연산자를 변환하고이를 연결합니다. {{ "Hello"~ 이름> ~ "!" }} 반환 할 것입니다 (이름이 'John'이라고 가정). Hello John !.

관련 문제