【问题标题】:Angular 6 i18n dynamic translationAngular 6 i18n 动态翻译
【发布时间】:2018-07-25 11:23:29
【问题描述】:

我有一段代码要使用 Angular 的 i18n 进行翻译。这将起作用,但是我将如何翻译动态的“启用”或“禁用”词,这取决于项目是禁用还是启用(它们是由服务器返回 item.status = 'DISABLED' 决定的。

<span confirmTitle>
            <ng-container i18n="modal title|Title to disable or enable item@@item.details.modal.title">
            {{ item.status === 'DISABLED' ? 'Enable' : 'Disable'}}
            item?
            </ng-container>
 </span>

【问题讨论】:

  • 这也是一个架构问题。如果后端为您提供“文本”,那么后端必须以正确的语言提供它可能是一个很好的解决方案。因为如果不是,那么前端必须知道后端可能提供哪些可能的数据。 --- 除此之外:angular.io/guide/i18n#select-among-alternative-text-messages --- 你必须声明多个文本,然后通过变量选择它们。热烈的问候

标签: javascript angular localization internationalization


【解决方案1】:

你可以这样写代码,

<div *ngIf="item.status=='DISABLED'" >Disabled</div>
<div *ngIf="item.status=='ENABLED'" >Enabled</div>

【讨论】:

  • 在这种情况下工作正常,但不幸的是,它不适用于传递给其他组件的文本。 (例如,必须呈现表头的表组件)
猜你喜欢
  • 1970-01-01
  • 2017-06-20
  • 1970-01-01
  • 2018-09-19
  • 1970-01-01
  • 2014-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多