当前位置: 首页 > 知识库问答 >
问题:

有没有一种方法来翻译绑定与有角度的本机国际化机制?

薛焱
2023-03-14
<p>This is a hard coded text</p>
<li *ngFor="let navigationEntry of navigationEntries">
  <a [href]="navigationEntry.url">
    {{ navigationEntry.text }}
  </a>
</li>
navigationEntries: Array = [
  {
    url: "/",
    text: "Home",
  },
  {
    url: "/login",
    text: "Login",
  },
  {
    url: "/admin",
    text: "Admin panel",
  },
];

在构建期间,是否有方法使用角度本机翻译(国际化)机制来翻译锚文本(或者NavigationEntries成员的text属性)?JavaScript数据的结构和模板的HTML可以更改。

如果Angular本机国际化机制不能处理这些问题(但我想知道它们到底有什么用),那么还有什么其他解决方案可以帮助实现这样的翻译呢?我找到了ngx-translate库,但它提供的翻译可以在运行时动态更改,理想情况下,我不想增加动态解决方案监视所有翻译文本的不必要开销。

共有1个答案

呼延智明
2023-03-14

是的,您可以使用Angular native translation Mechanicim来完成此操作我们经常使用以下模式来绕过angular i18n中缺少的动态平移:

您有一个消息数组,然后将它与ngFor和ngSwitch一起使用,以模板化消息,如下所示:

<li *ngFor="let navigationEntry of navigationEntries">
  <ng-container [ngSwitch]="navigationEntry.text">
    <a [href]="navigationEntry.url" *ngSwitchCase="'Home'" i18n="@@home">
      Home
    </a>
    <a [href]="navigationEntry.url" *ngSwitchCase="'Login'" i18n="@@login">
      Login
    </a>
    <a [href]="navigationEntry.url" *ngSwitchCase="'Admin panel'" i18n="@@adminPanel">
      Admin panel
    </a>
  <ng-container>
</li>

它有点冗长--但它适用于数量惊人的用例。

 类似资料:
  • 我想要做单词翻译(是的,只要单词翻译,可以不管句子) 看了一个 python 下的包/库,都是封装了谷歌翻译/有道翻译/百度翻译 但是,我想要一个可以本地化的翻译工具,不联网的 有什么包/库吗?如果没有 python 的,也可以是其他语言的

  • 我对Angular的一次性绑定有困难。 假设我想将ngIf与一次性绑定结合使用,如下所示: 在这种情况下,角为if中的表达式创建了一个监视。一旦它被解析为非未定义的值,监视就会被删除。 如果它仅被解析为真实值,则后代html树将被添加到DOM并随后呈现。 现在这一切都很好,但我真的想避免初始监视,只需解析表达式,如果它未定义,只需设置一个监视。原因在我的场景中相当复杂,但基本上我有一些机制,可以暂

  • 在我的应用程序中,有几个组件将生成各种不同类型的特定于应用程序的事件。这些事件将发布到代理并传递给N个客户端。其中一些客户端是我的服务器端应用程序中的其他Java类,但主要消费者是我的基于javascript的WebUI。 到目前为止,我目前的方法是定义一个抽象事件基类来封装一些公共字段,然后为每个事件实现一个特定的事件类。 这一直工作正常,只是现在我需要在javascript和java端维护事件

  • 问题内容: 是否有一种方法可以强制docker-machine使用特定的IP创建docker vm(假设该IP可用)? 问题答案: 在问题1709中主动请求 当我使用docker-machine create创建虚拟机时,我希望能够指定VM的IP地址(即docker-machine ls中“ URL”下列出的值)。 我想要这个是因为我一直依赖boot2docker的默认地址192.168.59.1

  • 我正在用Django做一个中文博客。我用中文写所有我能控制的东西,如文章文本,博客标题,博客导航,评论和联系人表单的标签标签。我唯一不能控制的是表单提交错误,如“此字段是必需的。”,“输入有效的电子邮件地址。”。因为我使用django评论框架和表单库来制作我的评论表单和联系人表单,我不知道如何将英文版替换成中文版。 为什么django翻译一些错误消息而忽略其他错误消息? 如果django不能自动翻

  • 问题内容: 有没有一种方法可以在Java中随机获取HashMap的值? 问题答案: 这有效: 如果您希望随机值不是类型,只需在最后一行添加强制类型转换即可。因此,如果声明为: 最后一行可以是: 下面的代码 无效 ,总是返回s 数组,不能将其强制转换为。