2013-04-24 3 views
0

내 프로젝트에서 UTF-8 문자 지원을 구현 중입니다. 템플릿 툴킷을 사용합니다. 템플릿 중 하나에서 텍스트를 번역 할 수 없도록하는 코드를이 코드에 드롭 다운했습니다. 여기에 코드 스 니펫이 있습니다.템플릿 도구 키트에 UTF-8 문자를 표시하기 위해 드롭 다운 옵션을 전달하는 방법

<select id="sub_select" name="sub_select">
[% sub_options = [
- { value => 'last', choice =>'translate.$lang.L_Submission' },
- { value => 'all', choice => 'translate.$lang.A_Submissions' },
];
%]
[% INCLUDE dropdown.tmpl
options = sub_options
selected = sub_select dropdown.tmpl이 드롭 다운 모두를 생성하는 데 사용되는 중앙 집중식 파일입니다
%]
</select>

응용 프로그램을 통해.
나는 새로운 dropdown_UTF8.tmpl을 만들 자유를 가지며, 새로운 유형의 선택을 지원하거나이 새로운 dropdown.tmpl에 새로운 논리를 적용 할 수 있습니다. 현재 기존 dropdown.tmpl을 사용하려고 할 때 $ lang.A_Submissions를 번역하고 $ lang.L_Submission을 선택 항목으로 번역합니다. 여기서 번역 된 데이터가 표시 될 것으로 기대합니다. 어느 누구도이 일을 도와 줄 수 있습니까?

dropdown.tmpl : 내가 뭔가를 누락하지 않는 한

[% valuekey = valuekey || 'value'; 
    choicekey = choicekey || 'choice'; 
    FOREACH opt = options; 
    - value = opt.$valuekey.defined ? valuekey_prefix _ opt.$valuekey : valuekey_prefix _ opt 
    - choice = opt.$choicekey or value 
%] 
[% value = value %] 
<option value="[% value %]"[% selected="selected" IF value == selected %]>[% choice %]</option> 
[% END -%] 

답변

0

, 여기 문제가 단순히 그 해시에서 choice에 대한 값 주위에 작은 따옴표라고 생각합니다. 작은 따옴표는 정의에 따라 포함되지 않은 내용이 보간되지 않게합니다.

시도 :

[% sub_options = [ 
     - { value => 'last', choice => translate.$lang.L_Submission }, 
     - { value => 'all', choice => translate.$lang.A_Submissions }, 
    ]; 
%]