刚开始使用 i18n 在 Node.js 中翻译我的网站。我有点不知道如何翻译在加载 DOM 和渲染玉文件后生成的文本(比如在用户单击按钮后)。
我知道 i18n 是一个服务器端模块,我生成的新文本在客户端。
如果有帮助,我也在运行快递。
我想要做的是能够在客户端翻译由 javascript 生成的文本。考虑一个任意按钮:
INDEX.JADE
form.feedback-r
a#submitclientiddd.button.button-primary #{i18n.__('Reply')}
// Other Jade Stuff Here
script(src='javascripts/clientside.js', type='text/javascript')
CLIENT SIDE JS
$("#posts").on("submit", "form.feedback-r", function(e) {
actbutton.html("Sending").addClass("feedback").removeClass('send_reply').prop("disabled", true);
});
... AJAX FUNCTION REQUEST AND ON SUCCESS ...
actbutton.html("Reply").addClass("success-text").prop("disabled", false);
SERVER SIDE JS
res.render('index', { title: 'Page Title', i18n: res});
- 翡翠通过 i18n 使用 (i18n.__('Reply')) 渲染的第一个按钮文本并正确翻译
- 用户点击按钮
- 文本通过 jQuery 更改为“Sending”,并在 AJAX 请求后返回“Reply”
- 按钮文本不再翻译,因为它是动态生成的
有没有办法在客户端使用 i18n 来解决这个问题?在最理想的情况下,我只想在客户端执行此操作,但它不起作用:
actbutton.html(i18n.__('Reply'));