Я использую Thymeleaf на страницах внешнего интерфейса, и по какой-то причине мне приходится иметь дело с i18n с помощью i18next. js вместо Spring Framework.
Согласно введению i18next- jquery - используя опции в функции перевода , я пишу так:
<span data-i18n="myKey" data-i18n-options='{ "WHERE": "TW" }'></span>
И есть мой языковой ресурс:
{ "myKey" : "User is from {{WHERE}}." }
И html анализируется и показывается вот так отлично :
<span data-i18n="myKey" data-i18n-options='{ "WHERE": "TW" }'> User is from TW. </span>
Но когда я динамически устанавливаю {{WHERE}} по атрибутам Thymeleaf, он просто ничего не может проанализировать.
Я пытался
th:attrappend="data-i18n-options='{WHERE: '+ ${country} +'}'"
также
th:data-i18n-options="'{WHERE: '+ ${country} +'}'"
,
каким-то образом это просто заканчивается следующим образом:
<span data-i18n="myKey" data-i18n-options="{WHERE: TW}">User is from .</span>
Так что мне интересно, есть ли идея проанализировать json строку в атрибуте Thymeleaf?
Обновление:
Я хочу поделиться своим решением и надеюсь, что это сэкономит кому-то время:)
th:attrappend='data-i18n-options=|{ "WHERE":"${country}"}|'
или th:data-i18n-options='|{ "WHERE":"${country}"}|'