Как передать мои выпадающие опции для отображения символов 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
%]
</select>

Где dropdown.tmpl - это централизованный файл, который используется для создания раскрывающихся списков во всем приложении.
Я имею право создать новый dropdown_UTF8.tmpl, который будет поддерживать новый тип выбора, или я могу разместить новую логику в этом dropdown.tmpl. В настоящее время, когда я пытаюсь сделать это с существующим dropdown.tmpl, я получаю translate.$ Lang.A_Submissions и translate.$ 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 -%]

1 ответ

Если я что-то упустил, я думаю, что проблема здесь заключается в простых кавычках вокруг значений для choice в этих хешах. Одинарные кавычки по определению приведут к тому, что они содержат не интерполированные.

Пытаться:

[%  sub_options = [
        - { value => 'last', choice => translate.$lang.L_Submission },
        - { value => 'all',  choice => translate.$lang.A_Submissions },
    ];
%]
Другие вопросы по тегам