gpt4 book ai didi

angular - 类型上不存在属性 'VAR_PLURAL'

转载 作者:行者123 更新时间:2023-12-02 21:02:12 26 4
gpt4 key购买 nike

使用 Angular 8.x i18n 时,我遇到了一个问题,其中包含非常晦涩的错误消息(所有 i18n 错误消息往往都是这样;看着你,https://github.com/angular/angular-cli/issues/7555#issuecomment-394228634)。

消息指出:src/app/***.component.html(1,2) 中出现错误::类型“***Component”上不存在属性“VAR_PLURAL”。

该错误仅正确说明了哪个文件受到影响,但行指示器是无意义的。使用二分搜索,注释一半的 i18n 复数出现,我成功地找出了麻烦制造者:

<ng-container i18n="@@playerCardinality">
{singleTournament.tournament.teamSize.max, plural, =1 {player} other {players}}
</ng-container>

起初我认为问题可能是不同的变量名称,因为这个 @@playerCardinality 在整个应用程序的多个地方使用:

<ng-container i18n="@@playerCardinality">{ tournamentScreen.tournament.teamSize.max, plural, =1 {player} other {players} }</ng-container>
<ng-container i18n="@@playerCardinality">{ ladderScreen.ladder.teamSizeMax, plural, =1 {player} other {players} }</ng-container>

但其他变量也没有相同的变量名,到目前为止还没有造成任何问题。

注释掉其他事件也解决了该问题,因此这肯定是这些事件之间存在某种交互相关的问题。

一定是一些平庸的问题,因为显然没有其他人遇到过类似的问题(基于谷歌结果)...

最佳答案

找到了答案,对于可能关心的人来说,问题出在格式上,当我删除换行符时它起作用了。所以基本上所有具有相同 id 的翻译都必须具有相同的格式和相同的内容。

这些是工作翻译:

<ng-container i18n="@@playerCardinality">{ singleTournament.tournament.teamSize.max, plural, =1 {player} other {players} }</ng-container>
<ng-container i18n="@@playerCardinality">{ tournamentScreen.tournament.teamSize.max, plural, =1 {player} other {players} }</ng-container>
<ng-container i18n="@@playerCardinality">{ ladderScreen.ladder.teamSizeMax, plural, =1 {player} other {players} }</ng-container>

关于angular - 类型上不存在属性 'VAR_PLURAL',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57790271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com