0

伙计们!我使用@biesbjerg/ngx-translate-extract,提取字符串以翻译为locale.json。该库使用 renderer3 的 parseTemplate 函数来获取所有带有翻译管道的表达式。如果我使用普通插值标记 ({{ SOME_STRING | translate }}) 一切都很好 - parseTemplate 返回表达式在此处输入图像描述

但是如果我在属性值定义中使用翻译管道 在此处输入图像描述

parseTemplate 函数不返回表达式。

我对角度源代码做了一些研究,发现解析器使用了 InterpolationConfig,定义了翻译管道表达式的开始和结束标记(“{{”,“}}”),所以我猜它不能解析没有它们的表达式。同时 Angular 正确地翻译了两个字符串。

有没有办法在没有 {{ }} 的情况下从属性值定义中获取翻译表达式?

谢谢!

这是一个组件模板:

.token__ttl.ttl([formGroup]='form')
    lwt-ui-select.ttl__select(
        [options]='options',
        [placeholder]='"ACCOUNT.TOKEN.IDS_TOKEN_TTL_INPUT_TITLE" | translate',
        [formControlName]='"ttl_seconds"'
    )

    mat-form-field.ttl__password
        mat-label {{ "ACCOUNT.TOKEN.IDS_TOKEN_PASSWORD_INPUT_TITLE" | translate }}
        input(
            matInput,
            [type]='showNewPassword ? "text" : "password"',
            [formControlName]='"password"'
        )
4

0 回答 0