我有以下链接:
<a (click)="modal.confirm('Do you want exit the system?', exit)" i18n>Sign out</a>
我想翻译字符串&#39;你想退出系统吗?&#39;,但我无法弄清楚如何实现它。这可能吗?
我在官方文档中找不到与此情况相关的任何内容: https://angular.io/guide/i18n
答案 0 :(得分:1)
检查https://github.com/ngx-translate/core
如果您想在组件中使用它,则必须使用 instant 方法 代码是
translateService.instant('key');
其中key是来自语言环境文件的字符串
如果你想要它来自view / tempalte
<a (click)="modal.confirm('{{ "key" | translate }}', exit)" i18n>Sign out</a>
答案 1 :(得分:0)
我终于以这种方式解决了这个问题:
<a #signOutLink (click)="modal.confirm(signOutLink.dataset.message, exit)"
i18n-data-message="@@signOutMessage" data-message="Do you want exit the system?"
i18n-title="@@signOut" title="Sign out"><i class="fa fa-sign-out"></i></a>
或者,如果我们不想使用冗余数据绑定,我们可以使用以下方法:
<a (click)="modal.confirm($event.currentTarget.dataset.message, exit)"
i18n-data-message="@@signOutMessage" data-message="Do you want exit the system?"
i18n-title="@@signOut" title="Sign out"><i class="fa fa-sign-out"></i></a>
我使用默认消息初始化了data-message
属性,然后使用i18n-data-message
属性将消息转换为相应的语言。它起作用了。