Angular 本地化:是否需要源消息文本?
Angular localize: is source message text required?
我的 .html
文件中有类似
的内容
<mat-form-field>
<mat-label i18n="@@title">Title</mat-label>
<input matInput formControlName="title" required />
</mat-form-field>
在代码的其他地方我需要本地化,例如title
。根据 Angular documentation 我可以做类似
const translated=$localize`:@@title:Title`;
我的问题:是
const translated=$localize`:@@title:`;
使用相同的字符串也有效吗?如果是这样,它记录在哪里?还是我应该指定源消息文本?但是,如果我仍然指定它 - 选择哪一个?来自 .html
文件或来自 *.ts
?
由于文本在没有规范的情况下工作,我想以防万一 - 以防万一我遗漏了一些小字。我没有找到任何文件。
Here 是发生了什么的文档。虽然没有测试,但我很确定字符串是来自 HTML 文件还是 ts 文件并不重要。
它说第一个字符串被采用,所以我猜首先处理哪个文件。因此我建议不要这样做,除非你能保证总是先处理第一个文件。
一般来说,我不喜欢这种方法,因为 Angular 会自动将两个相等的字符串合并为一个翻译单元。
我的 .html
文件中有类似
<mat-form-field>
<mat-label i18n="@@title">Title</mat-label>
<input matInput formControlName="title" required />
</mat-form-field>
在代码的其他地方我需要本地化,例如title
。根据 Angular documentation 我可以做类似
const translated=$localize`:@@title:Title`;
我的问题:是
const translated=$localize`:@@title:`;
使用相同的字符串也有效吗?如果是这样,它记录在哪里?还是我应该指定源消息文本?但是,如果我仍然指定它 - 选择哪一个?来自 .html
文件或来自 *.ts
?
由于文本在没有规范的情况下工作,我想以防万一 - 以防万一我遗漏了一些小字。我没有找到任何文件。
Here 是发生了什么的文档。虽然没有测试,但我很确定字符串是来自 HTML 文件还是 ts 文件并不重要。 它说第一个字符串被采用,所以我猜首先处理哪个文件。因此我建议不要这样做,除非你能保证总是先处理第一个文件。 一般来说,我不喜欢这种方法,因为 Angular 会自动将两个相等的字符串合并为一个翻译单元。