我使用ember-i18n来处理项目中的多个语言,我需要在翻译中插入一个链接(使用插值)。
有什么想法吗?
答案 0 :(得分:7)
您不能在翻译中使用
// some-thing/component.js: import { hrefTo } from 'ember-href-to/helpers/href-to'; text: Ember.computed('i18n.locale', function() { const i18n = this.get('i18n'); const href = hrefTo(this, 'some.route'); const link = Ember.String.htmlSafe(`<a href="${href}">Link Text</a>`); return i18n.t('some.translation', { link }); })
助手,因为它 发出一个DOM节点,而不是一个String。
但您可以使用ember-href-to插件生成网址。
在JavaScript中:
{{t 'some.translation'
link=(htmlSafe (join '<a href="' (href-to 'some.route') '">Link Text</a>'))}}
或者在Handlebars中(你需要一个htmlSafe助手):
lenovo thinkpad
答案 1 :(得分:0)
我最近遇到了类似的问题,这就是我所做的:
翻译文件(en.json):
"some.message.key": "Successfully created <a href='{{userlink}}'> {{username}} </a>."
在相应的模板/ hbs文件中:
{{html-safe (t "some.message.key" userlink=link username=name)}}
html-safe是ember-cli-string-helpers添加提供的帮助。