您需要放入DOM
消息從一開始,但沒有顯示它們。把每個span
標記這些文本具有獨特id
和th:text
屬性 - 你可以在你的文檔的末尾添加它們:
<span id="alertUpdateTable" th:text="#{listTable.updateTable}"
style="display:none">Update the Table.</span>
這將確保你的國際化模塊將做它的魔力也是這個元素,並且文本將被翻譯,即使它沒有被顯示。
然後在要使用該警報的時刻,讓隱藏的文本,並注入它在你需要它:
$('#TableUpdate-notification').html(
'<div class="alert"><p>' + $('#alertUpdateTable').html() + '</p></div>');
你問的這另一種變體,在那裏你目前有:
$successSpan.html(tableItemCount + " item was deleted from the table.", 2000);
你會然後再添加這些內容作爲非顯示與計數的佔位符span
:
<span id="alertTableItemDeleted" th:text="#{listTable.itemDeleted}"
style="display:none">{1} item(s) were deleted from the table.</span>
你應該確保你的翻譯也使用佔位符。 然後按如下方式使用它,在運行時替換佔位符:
$successSpan.html($('#alertTableItemDeleted').html().replace('{1}', tableItemCount));
你可以做一個函數來處理更換這樣的佔位符:
function getMsg(id) {
var txt = $('#' + id).html();
for (var i = 1; i < arguments.length; i++) {
txt = txt.replace('{' + i + '}', arguments[i]);
}
return txt;
}
,然後將兩個例子是寫如下:
$('#TableUpdate-notification').html(
'<div class="alert"><p>' + getMsg('alertUpdateTable') + '</p></div>');
$successSpan.html(getMsg('alertTableItemDeleted', tableItemCount));
這是不清楚你在問什麼。 –
通過我們的應用程序,我們將生成類似成功的消息,並動態地將所有消息寫入屬性文件中。但有些消息來自JavaScript。我沒有找到一種方法來硬編碼JavaScript的消息? – dummy