Aurelia 如何使用i18n仅翻译部分html页面

Aurelia 如何使用i18n仅翻译部分html页面,aurelia,Aurelia,我试图构建逻辑,用i18n lib只翻译pagemodule的一部分 我已经将i18n全局设置为在我更改语言时更改页面上的语言,但我希望在该页面上有一个模块,比如不同语言的电子邮件预览,我可以通过一些下拉字段在该模块上更改。就像某种范围内的i18n 我使用的是aurelia-i18n 1.4.0版本 是否可以设置hello以监视语言的本地模块更改,而不是全局模块更改,但再次使用与全局模块相同的翻译文件 有人有类似的问题或想法吗?我该怎么做?谢谢 你不能开箱即用。当您使用setLocale更改活动

我试图构建逻辑,用i18n lib只翻译pagemodule的一部分

我已经将i18n全局设置为在我更改语言时更改页面上的语言,但我希望在该页面上有一个模块,比如不同语言的电子邮件预览,我可以通过一些下拉字段在该模块上更改。就像某种范围内的i18n

我使用的是aurelia-i18n 1.4.0版本

是否可以设置hello以监视语言的本地模块更改,而不是全局模块更改,但再次使用与全局模块相同的翻译文件


有人有类似的问题或想法吗?我该怎么做?谢谢

你不能开箱即用。当您使用setLocale更改活动区域设置时,该方法将触发一个事件并发出绑定行为更新的信号。 TCustomAttribute侦听这些更改并自动重新加载绑定。不过,您可以创建自己的自定义属性,如图所示,并覆盖bind和unbind方法,在这些方法中,您可以定义更新翻译时的条件

--更新示例--

好的,这里有一个我想的小例子,可能不是最好的方法,但它应该做到

在main.js中添加新的globalResources

export function configure(aurelia) {
  aurelia.use
    .standardConfiguration()
    .plugin('aurelia-i18n', (instance) => {
      ...
    })
    .globalResources("./foo-custom-attribute") // <-- this here
这实际上创建了一个名为foo的新属性,该属性扩展了TCustomAttribute,并重写了bind/unbind方法,以排除发送信号和侦听语言更改事件

在您看来,您现在可以使用

<span t="demo"></span>
<span foo="demo"></span>
现在切换语言会像往常一样更改t属性,但会保持foo不变

<span t="demo"></span>
<span foo="demo"></span>